openapi: 3.2.0 info: title: Pay I Ingest Events API version: v1 description: 'Operations tagged Ingest Events 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: Ingest Events description: Ingest Requests paths: /api/v1/ingest: post: tags: - Ingest Events summary: Ingest an Event operationId: requests.Ingest parameters: - name: xProxy-Resource-Scope in: header description: Resource scope schema: type: string example: datazone - name: xProxy-Limit-IDs in: header description: Comma separated list of limit ID strings schema: type: string example: limitId1, limitId_2 - name: xProxy-User-ID in: header description: User ID schema: type: string example: UserName123 - name: xProxy-UseCase-ID in: header description: Use Case ID schema: type: string example: use_case_id - name: xProxy-UseCase-Name in: header description: Use Case Name schema: type: string example: use_case_name - name: xProxy-UseCase-Version in: header description: Use Case Version schema: type: integer example: '1' - name: xProxy-UseCase-Step in: header description: Use Case Step schema: type: string example: step_1 - name: xProxy-Account-Name in: header description: Account Name schema: type: string example: account_name - name: xProxy-Logging-Disable in: header description: Disable Logging schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.IngestRequest' application/*+json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.IngestRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.IngestResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ProxyApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' servers: - url: https://api.pay-i.com /api/v1/ingest/bulk: post: tags: - Ingest Events summary: Bulk Ingest operationId: requests.BulkIngest requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.BulkIngestRequest' application/*+json: schema: type: array items: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.BulkIngestRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.BulkIngestResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.BulkIngestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' servers: - url: https://api.pay-i.com /api/v1/ingest/bulk-upsert: post: tags: - Ingest Events summary: Bulk Upsert — insert or update records keyed by provider_response_id. operationId: requests.BulkUpsert requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.BulkIngestRequest' application/*+json: schema: type: array items: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.BulkIngestRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.BulkIngestResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.BulkIngestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' servers: - url: https://api.pay-i.com /api/v1/ingest/copilot/transcripts: post: tags: - Ingest Events operationId: requests.CopilotTranscriptIngest requestBody: content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.Copilot.CopilotTranscriptIngestRequest' application/*+json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.Copilot.CopilotTranscriptIngestRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.CopilotTranscriptIngestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' servers: - url: https://api.pay-i.com /api/v1/ingest/copilot/licensing: post: tags: - Ingest Events operationId: requests.CopilotLicensingIngest requestBody: content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.Copilot.CopilotLicensingIngestRequest' application/*+json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.Copilot.CopilotLicensingIngestRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.CopilotLicensingIngestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/PayI.Common.Models.ApiError' servers: - url: https://api.pay-i.com components: schemas: PayI.Common.Models.CopilotTranscriptIngestResponse: required: - ingest_timestamp - request_id - requests_created type: object properties: request_id: minLength: 1 type: string ingest_timestamp: type: string format: date-time requests_created: type: integer format: int32 error_count: type: integer format: int32 readOnly: true errors: type: - array - 'null' items: $ref: '#/components/schemas/PayI.Common.Models.IndexApiError' additionalProperties: false PayI.Common.Data.BudgetManagement.Enums.LimitStatus: enum: - ok - blocked - blocked_external - exceeded - overrun - failed type: string PayI.Common.Models.IndexApiError: type: object properties: item_index: type: integer format: int32 xproxy_result: $ref: '#/components/schemas/PayI.Common.Models.ApiError' additionalProperties: false PayI.Common.Models.ApiRouter.Copilot.CopilotActivityFrom: type: object properties: id: type: - string - 'null' role: type: integer format: int32 aadObjectId: type: - string - 'null' additionalProperties: false PayI.Common.Models.ApiRouter.HeaderInfo: required: - name type: object properties: name: minLength: 1 type: string value: type: - string - 'null' additionalProperties: false PayI.Common.Models.ApiRouter.Copilot.CopilotTranscript: required: - conversation_id - created_on - transcript_id type: object properties: agent_name: type: - string - 'null' conversation_id: type: - string - 'null' transcript_id: type: - string - 'null' created_on: type: string format: date-time metadata: type: - string - 'null' metrics: type: - object - 'null' allOf: - $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.Copilot.CopilotTranscriptMetrics' activities: type: - array - 'null' items: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.Copilot.CopilotActivity' _bot_conversationtranscriptid_value: type: - string - 'null' additionalProperties: false PayI.Common.Models.CopilotLicensingIngestResponse: required: - ingest_timestamp - records_ingested - request_id type: object properties: request_id: minLength: 1 type: string ingest_timestamp: type: string format: date-time records_ingested: type: integer format: int32 error_count: type: integer format: int32 readOnly: true errors: type: - array - 'null' items: $ref: '#/components/schemas/PayI.Common.Models.IndexApiError' additionalProperties: false PayI.Common.Models.ApiRouter.Copilot.CopilotLicensingMetadata: required: - FeatureName type: object properties: ProductName: type: - string - 'null' FeatureName: type: - string - 'null' ResourceName: type: - string - 'null' ToolInvoked: type: - string - 'null' KnowledgeSources: type: - string - 'null' LLMModel: type: - string - 'null' ChannelId: type: - string - 'null' NonBillableQuantity: type: number format: double additionalProperties: false PayI.Common.Models.ApiRouter.IngestUnits: type: object properties: input: maximum: 2147483647 minimum: 0 type: integer format: int32 output: maximum: 2147483647 minimum: 0 type: integer format: int32 additionalProperties: false PayI.Common.Models.ApiRouter.IngestRequest: required: - category - units type: object properties: category: minLength: 1 type: string resource: type: - string - 'null' event_timestamp: type: - string - 'null' format: date-time units: type: object additionalProperties: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.IngestUnits' end_to_end_latency_ms: type: - integer - 'null' format: int32 time_to_first_token_ms: type: - integer - 'null' format: int32 time_to_first_completion_token_ms: type: - integer - 'null' format: int32 http_status_code: type: - integer - 'null' format: int32 provider_uri: type: - string - 'null' provider_request_reasoning_json: type: - string - 'null' provider_request_json: type: - string - 'null' provider_request_headers: type: - array - 'null' items: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.HeaderInfo' provider_response_json: oneOf: - type: string - type: array items: type: string provider_response_headers: type: - array - 'null' items: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.HeaderInfo' provider_response_function_calls: type: - array - 'null' items: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.FunctionCallInfo' provider_response_id: type: - string - 'null' properties: type: - object - 'null' additionalProperties: type: - string - 'null' use_case_properties: type: - object - 'null' additionalProperties: type: - string - 'null' additionalProperties: false PayI.Common.Models.BulkIngestResponse: required: - ingest_count - ingest_timestamp - request_id type: object properties: request_id: minLength: 1 type: string ingest_timestamp: type: string format: date-time ingest_count: type: integer format: int32 error_count: type: integer format: int32 readOnly: true item_error_count: type: integer format: int32 errors: type: - array - 'null' items: $ref: '#/components/schemas/PayI.Common.Models.IndexApiError' total_count: type: integer format: int32 readOnly: true additionalProperties: false PayI.Common.Models.Proxy.ProxyResult: type: object properties: request_id: type: - string - 'null' request_tags: type: - array - 'null' items: type: string example: - requestTag1 - request_tag_2 limits: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PayI.Common.Models.Proxy.ProxyLimitStatus' example: limitId1: State: OK limitId_2: State: Exceeeded use_case_name: type: - string - 'null' use_case_id: type: - string - 'null' use_case_step: type: - string - 'null' resource_id: type: - string - 'null' user_id: type: - string - 'null' account_name: type: - string - 'null' blocked_limit_ids: type: - array - 'null' items: type: string example: - limitId_2 cost: type: - object - 'null' allOf: - $ref: '#/components/schemas/PayI.Common.Models.Proxy.RequestCost' unknown_units: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.IngestUnits' duplicate_request: type: - boolean - 'null' warnings: type: - array - 'null' items: type: string actions: type: - array - 'null' items: type: string queued: type: - boolean - 'null' 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.ApiRouter.Copilot.CopilotLicensingRecord: required: - metadata - resourceId type: object properties: resourceId: type: - string - 'null' consumed: type: number format: double unit: type: - string - 'null' agent_name: type: - string - 'null' metadata: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.Copilot.CopilotLicensingMetadata' date: type: - string - 'null' format: date-time additionalProperties: false PayI.Common.Models.ApiRouter.BulkIngestRequest: required: - category - units type: object properties: category: minLength: 1 type: string resource: type: - string - 'null' event_timestamp: type: - string - 'null' format: date-time units: type: object additionalProperties: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.IngestUnits' end_to_end_latency_ms: type: - integer - 'null' format: int32 time_to_first_token_ms: type: - integer - 'null' format: int32 time_to_first_completion_token_ms: type: - integer - 'null' format: int32 http_status_code: type: - integer - 'null' format: int32 provider_uri: type: - string - 'null' provider_request_reasoning_json: type: - string - 'null' provider_request_json: type: - string - 'null' provider_request_headers: type: - array - 'null' items: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.HeaderInfo' provider_response_json: oneOf: - type: string - type: array items: type: string provider_response_headers: type: - array - 'null' items: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.HeaderInfo' provider_response_function_calls: type: - array - 'null' items: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.FunctionCallInfo' provider_response_id: type: - string - 'null' properties: type: - object - 'null' additionalProperties: type: - string - 'null' use_case_properties: type: - object - 'null' additionalProperties: type: - string - 'null' limit_ids: type: - array - 'null' items: type: string request_tags: type: - array - 'null' items: type: string user_id: type: - string - 'null' use_case_id: type: - string - 'null' use_case_name: type: - string - 'null' use_case_version: type: - integer - 'null' format: int32 use_case_step: type: - string - 'null' account_name: type: - string - 'null' scope: type: - string - 'null' additionalProperties: false PayI.Common.Models.BudgetManagement.CostDetailsBase: required: - base type: object properties: base: type: number format: double additionalProperties: false PayI.Common.Models.ApiRouter.FunctionCallInfo: required: - name type: object properties: name: minLength: 1 type: string arguments: type: - string - 'null' additionalProperties: false PayI.Common.Models.BudgetManagement.CostDetails: required: - base type: object properties: base: type: number format: double overrun_base: type: - number - 'null' format: double additionalProperties: false PayI.Common.Enums.Currency: enum: - usd type: string PayI.Common.Models.ApiRouter.Copilot.CopilotActivity: type: object properties: id: type: - string - 'null' valueType: type: - string - 'null' type: type: - string - 'null' timestamp: type: integer format: int64 from: type: - object - 'null' allOf: - $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.Copilot.CopilotActivityFrom' name: type: - string - 'null' channelId: type: - string - 'null' text: type: - string - 'null' replyToId: type: - string - 'null' value: {} additionalProperties: false PayI.Common.Models.ApiRouter.Copilot.CopilotLicensingIngestRequest: required: - billing_date_utc - resource type: object properties: billing_date_utc: type: string format: date-time resource: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.Copilot.CopilotLicensingRecord' fetched_at: type: - string - 'null' format: date-time additionalProperties: false PayI.Common.Models.IngestResponse: required: - event_timestamp - ingest_timestamp - request_id - xproxy_result type: object properties: request_id: minLength: 1 type: string ingest_timestamp: type: string format: date-time event_timestamp: type: string format: date-time xproxy_result: $ref: '#/components/schemas/PayI.Common.Models.Proxy.ProxyResult' additionalProperties: false PayI.Common.Models.Proxy.RequestCost: type: object properties: currency: allOf: - $ref: '#/components/schemas/PayI.Common.Enums.Currency' input: type: - object - 'null' allOf: - $ref: '#/components/schemas/PayI.Common.Models.BudgetManagement.CostDetailsBase' output: type: - object - 'null' allOf: - $ref: '#/components/schemas/PayI.Common.Models.BudgetManagement.CostDetailsBase' total: type: - object - 'null' allOf: - $ref: '#/components/schemas/PayI.Common.Models.BudgetManagement.CostDetails' additionalProperties: false PayI.Common.Models.ProxyApiError: 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' xproxy_result: $ref: '#/components/schemas/PayI.Common.Models.Proxy.ProxyResult' additionalProperties: false PayI.Common.Models.ProxyError: type: object properties: code: type: - string - 'null' message: type: - string - 'null' additionalProperties: false PayI.Common.Models.Proxy.ProxyLimitStatus: type: object properties: state: $ref: '#/components/schemas/PayI.Common.Data.BudgetManagement.Enums.LimitStatus' additionalProperties: false PayI.Common.Models.ApiRouter.Copilot.CopilotTranscriptIngestRequest: required: - transcript type: object properties: transcript: $ref: '#/components/schemas/PayI.Common.Models.ApiRouter.Copilot.CopilotTranscript' additionalProperties: false PayI.Common.Models.ApiRouter.Copilot.CopilotTranscriptMetrics: type: object properties: total_activities: type: integer format: int32 user_messages: type: integer format: int32 bot_messages: type: integer format: int32 total_turns: type: integer format: int32 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