openapi: 3.2.0 info: title: Operations Hub Projects.rfi API version: 0.1.1 description: '' servers: [] tags: - name: projects.rfi paths: /api/projects/{project_id}/rfi/general: put: operationId: projects_api_rfi_create_project_general summary: Create Project General parameters: - in: path name: project_id schema: title: Project Id type: string required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectRFIGeneralEdit' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: Create a project general. tags: - projects.rfi requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectRFIGeneral' required: true security: - APIKeyAuth: [] - CookieAuth: [] get: operationId: projects_api_rfi_get_project_general summary: Get Project General parameters: - in: path name: project_id schema: title: Project Id type: string required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectRFIGeneral' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: Retrieve project general. tags: - projects.rfi security: - APIKeyAuth: [] - CookieAuth: [] /api/projects/{project_id}/rfi/billing: put: operationId: projects_api_rfi_create_project_billing summary: Create Project Billing parameters: - in: path name: project_id schema: title: Project Id type: string required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectBilling' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: Create a project billing. tags: - projects.rfi requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectBillingEdit' required: true security: - APIKeyAuth: [] - CookieAuth: [] get: operationId: projects_api_rfi_get_project_billing summary: Get Project Billing parameters: - in: path name: project_id schema: title: Project Id type: string required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectBilling' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: Retrieve project billing. tags: - projects.rfi security: - APIKeyAuth: [] - CookieAuth: [] /api/projects/{project_id}/rfi/billing-prefilled: get: operationId: projects_api_rfi_get_project_billing_prefilled summary: Get Project Billing Prefilled parameters: - in: path name: project_id schema: title: Project Id type: string required: true - in: query name: reference schema: description: Project id that will be used for prefilling data title: Reference type: string required: true description: Project id that will be used for prefilling data responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectBillingPrefilled' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: Get prefill data for a billing. tags: - projects.rfi security: - APIKeyAuth: [] - CookieAuth: [] /api/projects/{project_id}/rfi/sites: put: operationId: projects_api_rfi_create_project_site summary: Create Project Site parameters: - in: path name: project_id schema: title: Project Id type: string required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectSites' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: 'Update sites object in project. Whole object is a manifestation of sites in project. This is not partial update. Each site in the array must have site_id, if it references some existing site, otherwise it is considered a new site creation.' tags: - projects.rfi deprecated: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectSitesEdit' required: true security: - APIKeyAuth: [] - CookieAuth: [] get: operationId: projects_api_rfi_get_project_site summary: Get Project Site parameters: - in: path name: project_id schema: title: Project Id type: string required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectSites' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: Retrieve project site. tags: - projects.rfi deprecated: true security: - APIKeyAuth: [] - CookieAuth: [] /api/projects/{project_id}/rfi/site-safety: put: operationId: projects_api_rfi_create_project_site_access summary: Create Project Site Access parameters: - in: path name: project_id schema: title: Project Id type: string required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectSiteAccess' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: Update a project safety features. tags: - projects.rfi requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectSiteAccessEdit' required: true security: - APIKeyAuth: [] - CookieAuth: [] get: operationId: projects_api_rfi_get_project_site_access summary: Get Project Site Access parameters: - in: path name: project_id schema: title: Project Id type: string required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectSiteAccess' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: Retrieve project safety features. tags: - projects.rfi security: - APIKeyAuth: [] - CookieAuth: [] /api/projects/{project_id}/rfi/assets-services: put: operationId: projects_api_rfi_create_project_assets summary: Create Project Assets parameters: - in: path name: project_id schema: title: Project Id type: string required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectAssetGroup' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: 'Add assets and their respective services on a project. Asset groups must contain complete asset group data, any asset group that is missing in the new request body, will be automatically deleted. Any asset group without it''s `group_id` will be considered a new asset group. To edit specific asset group `group_id` is mandatory.' tags: - projects.rfi deprecated: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectAssetGroupEdit' required: true security: - APIKeyAuth: [] - CookieAuth: [] get: operationId: projects_api_rfi_get_project_assets summary: Get Project Assets parameters: - in: path name: project_id schema: title: Project Id type: string required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectAssetGroup' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: 'Retrieve all asset groups assigned to single project. Asset groups contain assets that can consist of either collection of turbines or blades. Asset groups also define what services will be attached to each of this group.' tags: - projects.rfi deprecated: true security: - APIKeyAuth: [] - CookieAuth: [] /api/projects/{project_id}/rfi/assets-services/table-prefilled: get: operationId: projects_api_rfi_get_project_assets_prefilled summary: Get Project Assets Prefilled parameters: - in: path name: project_id schema: title: Project Id type: string required: true - in: query name: reference schema: description: Project id that will be used for prefilling data title: Reference type: string required: true description: Project id that will be used for prefilling data responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectAssetGroupPrefilled' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' description: Get prefill data for asset groups. tags: - projects.rfi deprecated: true security: - APIKeyAuth: [] - CookieAuth: [] components: schemas: ProjectRFIGeneralEdit: additionalProperties: false description: Schema for project general creation. properties: project_leads: anyOf: - items: $ref: '#/components/schemas/ProjectLead' type: array - type: 'null' title: Project Leads company_legal_name: anyOf: - type: string - type: 'null' title: Company Legal Name company_address: anyOf: - type: string - type: 'null' title: Company Address company_vat_id: anyOf: - type: string - type: 'null' title: Company Vat Id company_reg_no: anyOf: - type: string - type: 'null' title: Company Reg No platform_client_id: anyOf: - type: integer - type: 'null' title: Platform Client Id title: ProjectRFIGeneralEdit type: object InvoicingMethod: description: Invoicing method definitions. enum: - email - portal title: InvoicingMethod type: string SiteAccessConditions: description: 'Condition definitions for site. The conditions primarily define some restrictions to access specific site. They primarily drive some costs and additional services availability and pricing.' enum: - Unavailable technicians - None - Health check - Specific permit - Escalation fee - Other - 5 working days - 8 working hours - Additional technician in US - +20% fee - +30% fee - +50% fee title: SiteAccessConditions type: string ProjectAssetGroupPrefilled: additionalProperties: false description: Schema for prefilled asset groups. properties: asset_groups: anyOf: - items: $ref: '#/components/schemas/Prefill_AssetGroupService_' type: array - type: 'null' description: Prefilled asset groups. title: Asset Groups title: ProjectAssetGroupPrefilled type: object ProjectSitesEdit: additionalProperties: false description: Schema for project sites update. properties: sites: items: $ref: '#/components/schemas/ProjectSiteEdit' title: Sites type: array required: - sites title: ProjectSitesEdit type: object Prefill_float_: additionalProperties: false properties: value: title: Value type: number prefilled: default: true description: Whether the value is prefilled. title: Prefilled type: boolean required: - value title: Prefill[float] type: object FileAttachment: additionalProperties: false description: 'File attachment response. Defines the structure of a single file uploaded to the server.' properties: storage_id: description: Unique identifier of the file received when first uploading it. format: uuid title: Storage Id type: string file_name: description: The name of the file. title: File Name type: string file_type: description: MIME file type (e.g. 'application/pdf'). title: File Type type: string required: - storage_id - file_name - file_type title: FileAttachment type: object ProjectAssetGroup: additionalProperties: false description: Schema for assets of turbines and blades and their services. properties: asset_groups: anyOf: - items: $ref: '#/components/schemas/AssetGroupService' type: array - type: 'null' title: Asset Groups title: ProjectAssetGroup type: object AssetServiceUserSelection: additionalProperties: false description: User selection of a particular service for specific asset group. properties: code: description: Selected service code. title: Code type: string conditions: description: List of user selected conditions. items: $ref: '#/components/schemas/ServiceConditionUserSelection' title: Conditions type: array materials: anyOf: - items: type: string type: array - type: 'null' description: Material preference. title: Materials addons: anyOf: - items: type: string type: array - type: 'null' description: Addon services selected. title: Addons required: - code - conditions title: AssetServiceUserSelection type: object ProjectSites: additionalProperties: false description: 'Schema for project sites. Project can contain multiple sites an each site is some collection of turbines. It is not given that all turbines from the site are in the project.' properties: sites: anyOf: - items: $ref: '#/components/schemas/ProjectSite' type: array - type: 'null' title: Sites title: ProjectSites type: object Prefill_AssetGroupService_: additionalProperties: false properties: value: $ref: '#/components/schemas/AssetGroupService' prefilled: default: true description: Whether the value is prefilled. title: Prefilled type: boolean required: - value title: Prefill[AssetGroupService] type: object ErrorCode: description: Error codes for API errors. enum: - validation - server - auth - unknown - external - generic title: ErrorCode type: string AssetGroupType: description: Asset group type definitions. enum: - WTG - BLADE title: AssetGroupType type: string CodeWithName: additionalProperties: false description: Schema for code and name. properties: code: description: Unique code. title: Code type: string name: description: Human readable name. title: Name type: string required: - code - name title: CodeWithName type: object ProjectSiteAccessEdit: additionalProperties: false description: Schema for project site access update. properties: can_work_six_days: anyOf: - type: boolean - type: 'null' title: Can Work Six Days mandatory_certifications: anyOf: - type: string - type: 'null' title: Mandatory Certifications specific_certifications_or_permits: anyOf: - type: string - type: 'null' title: Specific Certifications Or Permits regional_or_country_regulations: anyOf: - type: string - type: 'null' title: Regional Or Country Regulations operational_limitations: anyOf: - type: string - type: 'null' title: Operational Limitations attachments: default: [] description: List of file attachment storage IDs. items: format: uuid type: string title: Attachments type: array title: ProjectSiteAccessEdit type: object ProjectRFIGeneral: additionalProperties: false description: Schema for project general. properties: project_leads: anyOf: - items: $ref: '#/components/schemas/ProjectLead' type: array - type: 'null' title: Project Leads company_legal_name: anyOf: - type: string - type: 'null' title: Company Legal Name company_address: anyOf: - type: string - type: 'null' title: Company Address company_vat_id: anyOf: - type: string - type: 'null' title: Company Vat Id company_reg_no: anyOf: - type: string - type: 'null' title: Company Reg No company_netsuite_id: anyOf: - type: integer - type: 'null' title: Company Netsuite Id platform_client_id: anyOf: - type: integer - type: 'null' title: Platform Client Id title: ProjectRFIGeneral type: object Prefill_InvoicingMethod_: additionalProperties: false properties: value: $ref: '#/components/schemas/InvoicingMethod' prefilled: default: true description: Whether the value is prefilled. title: Prefilled type: boolean required: - value title: Prefill[InvoicingMethod] type: object ProjectLead: additionalProperties: false description: Schema for project lead. properties: name: anyOf: - type: string - type: 'null' title: Name email: anyOf: - format: email type: string - type: 'null' title: Email phone: anyOf: - type: string - type: 'null' title: Phone role: anyOf: - type: string - type: 'null' title: Role title: ProjectLead type: object ProjectBillingEdit: additionalProperties: false description: Schema for project billing update. properties: subsidiary_id: anyOf: - type: integer - type: 'null' description: NetSuite id of Aerones billing entity for this project title: Subsidiary Id subsidiary_name: anyOf: - type: string - type: 'null' description: Name of Aerones billing entity for this project title: Subsidiary Name billing_lead_name: anyOf: - type: string - type: 'null' description: Name of the billing lead title: Billing Lead Name billing_lead_email: anyOf: - format: email type: string - type: 'null' description: Email of the billing lead title: Billing Lead Email billing_lead_phone: anyOf: - type: string - type: 'null' description: Phone number of the billing lead title: Billing Lead Phone legal_entity: anyOf: - type: string - type: 'null' description: Name of the company that will receive the invoice title: Legal Entity address: anyOf: - type: string - type: 'null' title: Address address_state: anyOf: - type: string - type: 'null' title: Address State payment_terms: anyOf: - $ref: '#/components/schemas/PaymentTerms' - type: 'null' payment_terms_comment: anyOf: - type: string - type: 'null' description: Comment for payment terms title: Payment Terms Comment purchase_order_required: anyOf: - type: boolean - type: 'null' title: Purchase Order Required purchase_order_number: anyOf: - type: string - type: 'null' title: Purchase Order Number purchase_order_value: anyOf: - type: number - type: 'null' title: Purchase Order Value currency: default: EUR description: Currency code (e.g. EUR, USD, CAD, AUD) title: Currency type: string invoicing_method: anyOf: - $ref: '#/components/schemas/InvoicingMethod' - type: 'null' invoicing_instructions: anyOf: - type: string - type: 'null' description: Additional instructions for invoicing title: Invoicing Instructions invoicing_email: anyOf: - type: string - type: 'null' description: Email address to send invoices to title: Invoicing Email invoice_frequency: anyOf: - type: string - type: 'null' description: Frequency of invoicing title: Invoice Frequency title: ProjectBillingEdit type: object Prefill_EmailStr_: additionalProperties: false properties: value: format: email title: Value type: string prefilled: default: true description: Whether the value is prefilled. title: Prefilled type: boolean required: - value title: Prefill[EmailStr] type: object ProjectBillingPrefilled: additionalProperties: false description: Schema for project billing prefilled data. properties: billing_lead_name: anyOf: - $ref: '#/components/schemas/Prefill_str_' - type: 'null' billing_lead_email: anyOf: - $ref: '#/components/schemas/Prefill_EmailStr_' - type: 'null' billing_lead_phone: anyOf: - $ref: '#/components/schemas/Prefill_str_' - type: 'null' legal_entity: anyOf: - $ref: '#/components/schemas/Prefill_str_' - type: 'null' address: anyOf: - $ref: '#/components/schemas/Prefill_str_' - type: 'null' payment_terms: anyOf: - $ref: '#/components/schemas/Prefill_str_' - type: 'null' purchase_order_required: anyOf: - $ref: '#/components/schemas/Prefill_bool_' - type: 'null' purchase_order_number: anyOf: - $ref: '#/components/schemas/Prefill_str_' - type: 'null' purchase_order_value: anyOf: - $ref: '#/components/schemas/Prefill_float_' - type: 'null' currency: anyOf: - $ref: '#/components/schemas/Prefill_str_' - type: 'null' invoicing_method: anyOf: - $ref: '#/components/schemas/Prefill_InvoicingMethod_' - type: 'null' invoicing_instructions: anyOf: - $ref: '#/components/schemas/Prefill_str_' - type: 'null' invoicing_email: anyOf: - $ref: '#/components/schemas/Prefill_str_' - type: 'null' invoice_frequency: anyOf: - $ref: '#/components/schemas/Prefill_str_' - type: 'null' title: ProjectBillingPrefilled type: object ProjectSiteAccess: additionalProperties: false description: Schema for project site access. properties: can_work_six_days: anyOf: - type: boolean - type: 'null' title: Can Work Six Days mandatory_certifications: anyOf: - type: string - type: 'null' title: Mandatory Certifications specific_certifications_or_permits: anyOf: - type: string - type: 'null' title: Specific Certifications Or Permits regional_or_country_regulations: anyOf: - type: string - type: 'null' title: Regional Or Country Regulations operational_limitations: anyOf: - type: string - type: 'null' title: Operational Limitations attachments: default: [] items: $ref: '#/components/schemas/FileAttachment' title: Attachments type: array title: ProjectSiteAccess type: object AssetGroupServiceEdit: additionalProperties: false description: Single asset group edit on a single project. properties: group_id: anyOf: - type: integer - type: 'null' description: Asset group identifier in project builder. Required when editing. title: Group Id type: $ref: '#/components/schemas/AssetGroupType' count: default: 1 description: Number of assets in the group. title: Count type: integer attachments: default: [] description: List of file attachment storage IDs. items: format: uuid type: string title: Attachments type: array services: default: [] items: $ref: '#/components/schemas/AssetServiceUserSelection' title: Services type: array site_id: description: Site to which turbine belongs to. Required when editing. title: Site Id type: integer hub_height: anyOf: - type: number - type: 'null' title: Hub Height turbine_manufacturer_id: anyOf: - type: integer - type: 'null' description: Turbine manufacturer id as in platform. title: Turbine Manufacturer Id turbine_model_id: anyOf: - type: integer - type: 'null' description: Turbine model id as in platform. title: Turbine Model Id blade_manufacturer_id: anyOf: - type: integer - type: 'null' description: Blade manufacturer id as in platform. title: Blade Manufacturer Id blade_model_id: anyOf: - type: integer - type: 'null' description: Blade model id as in platform. title: Blade Model Id required: - type - site_id title: AssetGroupServiceEdit type: object ProjectSite: additionalProperties: false description: Schema for project site in RFI stage. properties: id: title: Id type: integer name: description: Site name title: Name type: string country: anyOf: - type: string - type: 'null' description: Country code in alpha-2 format title: Country coordinates: anyOf: - $ref: '#/components/schemas/Coordinates' - type: 'null' description: Site coordinates special_conditions: default: [] description: List of special conditions for site access items: $ref: '#/components/schemas/SiteAccessConditions' title: Special Conditions type: array state: anyOf: - type: string - type: 'null' description: State code in alpha-2 format title: State required: - id - name title: ProjectSite type: object ProjectAssetGroupEdit: additionalProperties: false description: Schema for editing assets of turbines and blades and their services. properties: asset_groups: items: $ref: '#/components/schemas/AssetGroupServiceEdit' title: Asset Groups type: array required: - asset_groups title: ProjectAssetGroupEdit type: object Error: additionalProperties: false description: Error response schema. properties: code: $ref: '#/components/schemas/ErrorCode' message: title: Message type: string required: - code - message title: Error type: object Prefill_bool_: additionalProperties: false properties: value: title: Value type: boolean prefilled: default: true description: Whether the value is prefilled. title: Prefilled type: boolean required: - value title: Prefill[bool] type: object PaymentTerms: description: Payment terms definitions. enum: - '30' - '45' - '60' - '90' title: PaymentTerms type: string ServiceConditionUserSelection: additionalProperties: false description: User selection of service condition. properties: name: description: Name of the condition that is selected. title: Name type: string code: description: Code of the selected condition from the available values. title: Code type: string severity: anyOf: - type: integer - type: 'null' description: Additional description of the service condition as a severity level. title: Severity required: - name - code title: ServiceConditionUserSelection type: object Prefill_str_: additionalProperties: false properties: value: title: Value type: string prefilled: default: true description: Whether the value is prefilled. title: Prefilled type: boolean required: - value title: Prefill[str] type: object ServiceCondition: additionalProperties: false description: Schema for service condition. properties: name: description: Name of the condition specific to service. title: Name type: string values: description: List of possible values for the condition. items: $ref: '#/components/schemas/ServiceConditionValue' title: Values type: array required: - name - values title: ServiceCondition type: object AssetServiceSelection: additionalProperties: false description: User selection of services for particular assets. properties: code: description: Unique service base code. title: Code type: string category: $ref: '#/components/schemas/CodeWithName' description: Service category. name: description: Human readable service name. title: Name type: string conditions: default: [] description: List of conditions that describe the service, including RAT availability. items: $ref: '#/components/schemas/ServiceCondition' title: Conditions type: array addons: default: [] description: List of additional service codes that can/or are added to the service. items: type: string title: Addons type: array materials: default: [] description: List of material codes that are compatible with the service. items: type: string title: Materials type: array full_code: anyOf: - type: string - type: 'null' description: Full line item service code. title: Full Code full_name: anyOf: - type: string - type: 'null' title: Full Name required: - code - category - name title: AssetServiceSelection type: object ProjectSiteEdit: additionalProperties: false description: Schema for project site edit in RFI stage. properties: id: anyOf: - type: integer - type: 'null' description: Site identifier in project builder. Required when editing. title: Id name: description: Site name title: Name type: string country: anyOf: - type: string - type: 'null' description: Country code in alpha-2 format title: Country state: anyOf: - type: string - type: 'null' description: State code in alpha-2 format title: State coordinates: anyOf: - $ref: '#/components/schemas/Coordinates' - type: 'null' description: Site coordinates special_conditions: description: List of special conditions for site access. Must not be empty - if no conditions, use ['None']. 'None' cannot be selected together with other conditions. items: $ref: '#/components/schemas/SiteAccessConditions' minItems: 1 title: Special Conditions type: array required: - name - special_conditions title: ProjectSiteEdit type: object Coordinates: additionalProperties: false description: Schema for coordinates. properties: latitude: title: Latitude type: number longitude: title: Longitude type: number required: - latitude - longitude title: Coordinates type: object ServiceConditionValue: additionalProperties: false description: Schema for describing specific service condition/level. properties: code: description: Unique condition value code. title: Code type: string name: description: Human readable condition value name. title: Name type: string severity: anyOf: - type: integer - type: 'null' description: Severity level for service object conditions. title: Severity selected: anyOf: - type: boolean - type: 'null' description: Selected condition by user. title: Selected required: - code - name title: ServiceConditionValue type: object AssetGroupService: additionalProperties: false description: Single combination of asset group and it's assigned services within project. properties: group_id: title: Group Id type: integer count: title: Count type: integer type: $ref: '#/components/schemas/AssetGroupType' attachments: default: [] items: $ref: '#/components/schemas/FileAttachment' title: Attachments type: array services: default: [] items: $ref: '#/components/schemas/AssetServiceSelection' title: Services type: array hub_height: anyOf: - type: number - type: 'null' title: Hub Height turbine_manufacturer_id: anyOf: - type: integer - type: 'null' description: Turbine manufacturer id as in platform. title: Turbine Manufacturer Id turbine_model_id: anyOf: - type: integer - type: 'null' description: Turbine model id as in platform. title: Turbine Model Id blade_manufacturer_id: anyOf: - type: integer - type: 'null' description: Blade manufacturer id as in platform. title: Blade Manufacturer Id blade_model_id: anyOf: - type: integer - type: 'null' description: Blade model id as in platform. title: Blade Model Id site_id: anyOf: - type: integer - type: 'null' description: Site to which turbine belongs to. title: Site Id required: - group_id - count - type title: AssetGroupService type: object ProjectBilling: additionalProperties: false description: 'Schema for project billing. Currency is mandatory and defaults to EUR if not provided. All other fields are optional.' properties: subsidiary_id: anyOf: - type: integer - type: 'null' description: NetSuite id of Aerones billing entity for this project title: Subsidiary Id subsidiary_name: anyOf: - type: string - type: 'null' description: Name of Aerones billing entity for this project title: Subsidiary Name billing_lead_name: anyOf: - type: string - type: 'null' description: Name of the billing lead title: Billing Lead Name billing_lead_email: anyOf: - format: email type: string - type: 'null' description: Email of the billing lead title: Billing Lead Email billing_lead_phone: anyOf: - type: string - type: 'null' description: Phone number of the billing lead title: Billing Lead Phone legal_entity: anyOf: - type: string - type: 'null' description: Name of the company that will receive the invoice title: Legal Entity address: anyOf: - type: string - type: 'null' title: Address address_state: anyOf: - type: string - type: 'null' title: Address State payment_terms: anyOf: - type: string - type: 'null' title: Payment Terms payment_terms_comment: anyOf: - type: string - type: 'null' description: Comment for payment terms title: Payment Terms Comment purchase_order_required: anyOf: - type: boolean - type: 'null' title: Purchase Order Required purchase_order_number: anyOf: - type: string - type: 'null' title: Purchase Order Number purchase_order_value: anyOf: - type: number - type: 'null' title: Purchase Order Value currency: default: EUR description: Currency code (e.g. EUR, USD, CAD, AUD) title: Currency type: string invoicing_method: anyOf: - $ref: '#/components/schemas/InvoicingMethod' - type: 'null' invoicing_instructions: anyOf: - type: string - type: 'null' description: Additional instructions for invoicing title: Invoicing Instructions invoicing_email: anyOf: - type: string - type: 'null' description: Email address to send invoices to title: Invoicing Email invoice_frequency: anyOf: - type: string - type: 'null' description: Frequency of invoicing title: Invoice Frequency title: ProjectBilling type: object securitySchemes: APIKeyAuth: type: http scheme: bearer CookieAuth: type: apiKey in: cookie name: opshub_prod_sessionid AuthBearer: type: http scheme: bearer