openapi: 3.2.0 info: title: Pay I Resources API version: v1 description: 'Operations tagged Resources across 2 of this provider''s published API definitions: pay-i-openapi-original.json, pay-i-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.pay-i.com security: - Pay_I_API_Key: [] tags: - name: Resources description: Resources paths: /api/v1/categories/{category}/resources/{resource}: get: tags: - Resources summary: Get a list of versions of a Resource operationId: getResources parameters: - name: Active in: query schema: type: boolean - name: sort_ascending in: query schema: type: boolean - name: limit in: query schema: type: integer format: int32 - name: cursor in: query schema: type: string - name: category in: path description: Category required: true schema: type: string - name: resource in: path description: Resource required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PayI.Calculator.Models.ApiQueries.PaginatedCursorCategoryResourceResponseList' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' post: tags: - Resources summary: Create a Resource operationId: createResource parameters: - name: category in: path description: Category required: true schema: type: string - name: resource in: path description: Resource required: true schema: type: string requestBody: description: Resource Request content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.CategoryResource.CategoryResourceRequest' application/*+json: schema: $ref: '#/components/schemas/PayI.Common.Models.CategoryResource.CategoryResourceRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.CategoryResource.CategoryResourceResponse' '201': description: Created content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.CategoryResource.CategoryResourceResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' servers: - url: https://api.pay-i.com /api/v1/categories/{category}/resources/{resource}/{resource_id}: get: tags: - Resources summary: Get a Resource version details operationId: getResource parameters: - name: category in: path description: Category required: true schema: type: string - name: resource in: path description: Resource required: true schema: type: string - name: resource_id in: path description: Resource Id required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.CategoryResource.CategoryResourceResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' delete: tags: - Resources summary: Delete a version of the Resource operationId: deleteResource parameters: - name: category in: path description: Category required: true schema: type: string - name: resource in: path description: Resource required: true schema: type: string - name: resource_id in: path description: Resource Id required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.CategoryResource.CategoryResourceResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' servers: - url: https://api.pay-i.com components: schemas: PayI.Common.Models.CategoryResource.SystemResourceScope: enum: - global - datazone - region type: string PayI.Common.Models.Reservation.GoogleVertexReservationResource: required: - gsus type: object properties: gsus: type: integer format: int32 additionalProperties: false PayI.Calculator.Models.ApiQueries.PaginatedCursorCategoryResourceResponseList: type: object properties: request_id: type: - string - 'null' cursor: type: - string - 'null' items: type: - array - 'null' items: $ref: '#/components/schemas/PayI.Common.Models.CategoryResource.CategoryResourceResponse' additionalProperties: false PayI.Common.Models.Reservation.AzureReservationResource: required: - ptus type: object properties: ptus: type: integer format: int32 additionalProperties: false PayI.Common.Models.Reservation.AwsBedrockReservationResource: required: - model_units type: object properties: model_units: type: integer format: int32 additionalProperties: false PayI.Common.Models.ApiError: required: - message - statusCode type: object properties: message: minLength: 1 type: string statusCode: type: integer format: int32 xproxy_error: $ref: '#/components/schemas/PayI.Common.Models.ProxyError' additionalProperties: false PayI.Common.Models.CategoryResource.CategoryResourceRequest: required: - units type: object properties: max_input_units: type: - integer - 'null' format: int32 max_output_units: type: - integer - 'null' format: int32 max_total_units: type: - integer - 'null' format: int32 units: type: object additionalProperties: $ref: '#/components/schemas/PayI.Common.Models.CategoryResource.ResourcePriceUnits' start_timestamp: type: - string - 'null' format: date-time additionalProperties: false PayI.Common.Models.CategoryResource.MappedResourceResponse: required: - category - host_name - mapping_name - resource type: object properties: host_name: type: - string - 'null' mapping_name: type: - string - 'null' resource: type: - string - 'null' category: type: - string - 'null' scope: allOf: - $ref: '#/components/schemas/PayI.Common.Models.CategoryResource.SystemResourceScope' sub_scope: type: - string - 'null' additionalProperties: false PayI.Common.Models.CategoryResource.ResourcePriceUnits: type: object properties: input_price: type: number format: double output_price: type: number format: double additionalProperties: false PayI.Common.Models.ProxyError: type: object properties: code: type: - string - 'null' message: type: - string - 'null' additionalProperties: false PayI.Common.Models.CategoryResource.CategoryResourceResponse: required: - active - category - proxy_allowed - resource - resource_id - start_timestamp - units type: object properties: max_input_units: type: - integer - 'null' format: int32 max_output_units: type: - integer - 'null' format: int32 max_total_units: type: - integer - 'null' format: int32 units: type: object additionalProperties: $ref: '#/components/schemas/PayI.Common.Models.CategoryResource.ResourcePriceUnits' resource_id: minLength: 1 type: string start_timestamp: type: string format: date-time end_timestamp: type: - string - 'null' format: date-time category: minLength: 1 type: string resource: minLength: 1 type: string active: type: boolean description: type: - string - 'null' deprecated_timestamp: type: - string - 'null' format: date-time proxy_allowed: type: boolean mapped_resource: type: - object - 'null' allOf: - $ref: '#/components/schemas/PayI.Common.Models.CategoryResource.MappedResourceResponse' cost_per_hour: type: - number - 'null' format: double character_billing: type: - boolean - 'null' large_context_threshold: type: - integer - 'null' format: int32 aliased_resource: type: - string - 'null' reservation_id: type: - string - 'null' azure_resource: type: - object - 'null' allOf: - $ref: '#/components/schemas/PayI.Common.Models.Reservation.AzureReservationResource' aws_bedrock_resource: type: - object - 'null' allOf: - $ref: '#/components/schemas/PayI.Common.Models.Reservation.AwsBedrockReservationResource' google_vertex_resource: type: - object - 'null' allOf: - $ref: '#/components/schemas/PayI.Common.Models.Reservation.GoogleVertexReservationResource' additionalProperties: false securitySchemes: Pay_I_API_Key: type: apiKey description: 'Pay-I API Key. Example: "{apikey}"' name: xProxy-api-key in: header x-refined-from: - pay-i-openapi-original.json - pay-i-openapi.yml