openapi: 3.0.3 info: contact: email: support@forkbomb.eu name: credimi Support url: https://forkbomb.solutions description: Credimi API — schedule and run conformance checks, manage pipeline automation, orchestrate mobile runners, publish marketplace integrations, and inspect end-to-end test results for decentralized identity services. title: Credimi API version: 1.4.0 servers: - description: Production server url: https://credimi.io - description: Localhost server url: http://localhost:8090/ paths: /api/apikey/authenticate: get: description: Authenticate an API key and return Bearer token operationId: apiKey.authenticate responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersAuthenticateApiKeyResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Authenticate API Key /api/apikey/authenticate-internal-admin: get: description: Authenticate an internal-admin API key. operationId: apiKey.authenticateInternalAdmin parameters: - description: Internal admin API key. in: header name: Credimi-Api-Key required: true schema: description: Internal admin API key. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersAuthenticateInternalAdminAPIKeyResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Authenticate Internal Admin API Key /api/apikey/generate: post: description: Generate a new API key for the authenticated user or superuser. operationId: apiKey.generate parameters: - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/HandlersGenerateApiKeyRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersGenerateApiKeyResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Generate API Key /api/custom-integrations/run: post: description: Run a custom integration operationId: custom-integration.run parameters: - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/HandlersRunCustomIntegrationRequestInput' required: true responses: "200": description: Successful response without a body default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Run a custom integration /api/mobile-runners: get: description: Lists mobile runners visible to the caller, including health, devices, and queue length for online runners. operationId: listMobileRunners parameters: - description: Optional response view. Use 'selector' to return the lightweight runner selector shape and skip queue/device details. in: query name: view schema: description: Optional response view. Use 'selector' to return the lightweight runner selector shape and skip queue/device details. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersListMobileRunnersPublicResponseSchema' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: List available mobile runners /api/my/schedules: get: description: List all schedules for the authenticated user operationId: schedules.list parameters: - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersListMySchedulesResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Get a list of all schedules for the authenticated user /api/my/schedules/{scheduleId}/cancel: post: description: Cancel a specific schedule operationId: schedule.cancel parameters: - description: The ID for the scheduleId. in: path name: scheduleId required: true schema: description: The ID for the scheduleId. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersCancelScheduleResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Cancel a specific schedule /api/my/schedules/{scheduleId}/pause: post: description: Pause a specific schedule operationId: schedule.pause parameters: - description: The ID for the scheduleId. in: path name: scheduleId required: true schema: description: The ID for the scheduleId. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersPauseScheduleResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Pause a specific schedule /api/my/schedules/{scheduleId}/resume: post: description: Resume a specific schedule operationId: schedule.resume parameters: - description: The ID for the scheduleId. in: path name: scheduleId required: true schema: description: The ID for the scheduleId. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersResumeScheduleResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Resume a specific schedule /api/my/schedules/start: post: description: Start a new schedule from an existing workflow operationId: schedule.start parameters: - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/HandlersStartScheduleRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersStartScheduleResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Start a new schedule from an existing workflow /api/my/workflows/{workflowId}/runs: get: description: List all runs for a specific workflow operationId: workflowRuns.list parameters: - description: The ID for the workflowId. in: path name: workflowId required: true schema: description: The ID for the workflowId. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersListMyWorkflowRunsResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Get a list of all runs for a specific workflow /api/my/workflows/{workflowId}/runs/{runId}: get: description: Get details of a specific run for a workflow operationId: workflowRun.get parameters: - description: The ID for the workflowId. in: path name: workflowId required: true schema: description: The ID for the workflowId. type: string - description: The ID for the runId. in: path name: runId required: true schema: description: The ID for the runId. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersGetMyWorkflowRunResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Get details of a specific run for a workflow /api/my/workflows/{workflowId}/runs/{runId}/cancel: post: description: Cancel a specific workflow run operationId: workflowRun.cancel parameters: - description: The ID for the workflowId. in: path name: workflowId required: true schema: description: The ID for the workflowId. type: string - description: The ID for the runId. in: path name: runId required: true schema: description: The ID for the runId. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersCancelMyWorkflowRunResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Cancel a specific workflow run /api/my/workflows/{workflowId}/runs/{runId}/export: get: description: Export a specific workflow run operationId: workflowRun.export parameters: - description: The ID for the workflowId. in: path name: workflowId required: true schema: description: The ID for the workflowId. type: string - description: The ID for the runId. in: path name: runId required: true schema: description: The ID for the runId. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersExportMyWorkflowRunResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Export a specific workflow run /api/my/workflows/{workflowId}/runs/{runId}/history: get: description: Get the history of events for a specific run of a workflow operationId: workflowRun.history parameters: - description: The ID for the workflowId. in: path name: workflowId required: true schema: description: The ID for the workflowId. type: string - description: The ID for the runId. in: path name: runId required: true schema: description: The ID for the runId. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersGetMyWorkflowRunHistoryResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Get the history of events for a specific run of a workflow /api/my/workflows/{workflowId}/runs/{runId}/logs: get: description: Start or Stop logs for a specific workflow run and get the log channel operationId: workflowRun.logs parameters: - description: Can be 'start' or 'stop' to control logging for the workflow run in: query name: action schema: description: Can be 'start' or 'stop' to control logging for the workflow run type: string - description: The ID for the workflowId. in: path name: workflowId required: true schema: description: The ID for the workflowId. type: string - description: The ID for the runId. in: path name: runId required: true schema: description: The ID for the runId. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersWorkflowLogsResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Start or Stop logs for a specific workflow run /api/my/workflows/{workflowId}/runs/{runId}/rerun: post: description: Re-run a specific workflow run operationId: workflowRun.rerun parameters: - description: The ID for the workflowId. in: path name: workflowId required: true schema: description: The ID for the workflowId. type: string - description: The ID for the runId. in: path name: runId required: true schema: description: The ID for the runId. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/HandlersReRunWorkflowRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersReRunWorkflowResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Re-run a specific workflow run /api/my/workflows/{workflowId}/runs/{runId}/terminate: post: description: Terminate a specific workflow run operationId: workflowRun.terminate parameters: - description: The ID for the workflowId. in: path name: workflowId required: true schema: description: The ID for the workflowId. type: string - description: The ID for the runId. in: path name: runId required: true schema: description: The ID for the runId. type: string - description: Bearer token for authentication. in: header name: Authorization schema: description: Bearer token for authentication. type: string - description: User API key or internal admin API key, depending on the endpoint. in: header name: Credimi-Api-Key schema: description: User API key or internal admin API key, depending on the endpoint. type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/HandlersTerminateMyWorkflowRunResponse' description: Successful response default: content: application/json: schema: $ref: '#/components/schemas/ApierrorAPIError' description: An unexpected error occurred. summary: Terminate a specific workflow run components: schemas: ApierrorAPIError: properties: error: type: string message: type: string reason: type: string status: type: integer type: object HandlersActivityType: properties: name: type: string type: object HandlersAuthenticateApiKeyResponse: properties: message: type: string token: type: string type: object HandlersAuthenticateInternalAdminAPIKeyResponse: properties: message: type: string type: object HandlersCallback: properties: attempt: type: integer lastAttemptCompleteTime: type: string lastAttemptFailure: $ref: '#/components/schemas/HandlersFailure' nextAttemptScheduleTime: type: string publicInfo: $ref: '#/components/schemas/HandlersCallbackInfo' state: type: string trigger: $ref: '#/components/schemas/HandlersCallbackInfo' type: object HandlersCallbackInfo: properties: callback: $ref: '#/components/schemas/HandlersPayload' registrationTime: type: string type: object HandlersCallbacks: properties: callbacks: items: $ref: '#/components/schemas/HandlersCallback' type: array type: object HandlersCancelMyWorkflowRunResponse: properties: message: type: string namespace: type: string runId: type: string status: type: string time: type: string workflowId: type: string type: object HandlersCancelScheduleResponse: properties: message: type: string namespace: type: string scheduleId: type: string status: type: string time: type: string type: object HandlersDuration: properties: nanos: type: integer seconds: type: integer type: object HandlersExportMyWorkflowRunResponse: properties: export: $ref: '#/components/schemas/HandlersWorkflowExportData' type: object HandlersFailure: properties: cause: $ref: '#/components/schemas/HandlersFailure' failureInfo: additionalProperties: type: string type: object message: type: string source: type: string stackTrace: type: string type: object HandlersGenerateApiKeyRequest: properties: name: type: string type: object HandlersGenerateApiKeyResponse: properties: api_key: type: string type: object HandlersGetMyWorkflowRunHistoryResponse: properties: count: type: integer history: items: additionalProperties: {} type: object nullable: true type: array namespace: type: string runId: type: string time: type: string workflowId: type: string type: object HandlersGetMyWorkflowRunResponse: properties: callbacks: $ref: '#/components/schemas/HandlersCallbacks' executionConfig: $ref: '#/components/schemas/HandlersWorkflowExecutionConfigWithMetadata' failure_reason: nullable: true type: string pendingActivities: items: $ref: '#/components/schemas/HandlersPendingActivityInfo' type: array pendingChildren: items: $ref: '#/components/schemas/HandlersPendingChildren' type: array pendingNexusOperations: items: $ref: '#/components/schemas/HandlersPendingNexusOperation' type: array pendingWorkflowTask: $ref: '#/components/schemas/HandlersPendingWorkflowTaskInfo' workflowExecutionInfo: $ref: '#/components/schemas/HandlersWorkflowExecutionInfo' type: object HandlersListMobileRunnersPublicResponseSchema: properties: runners: items: $ref: '#/components/schemas/HandlersMobileRunnerListItem' nullable: true type: array type: object HandlersListMySchedulesResponse: properties: schedules: items: $ref: '#/components/schemas/HandlersScheduleInfoSummary' type: array type: object HandlersListMyWorkflowRunsResponse: properties: executions: items: $ref: '#/components/schemas/HandlersWorkflowExecutionSummary' nullable: true type: array type: object HandlersMemo: properties: fields: additionalProperties: $ref: '#/components/schemas/HandlersPayload' type: object type: object HandlersMobileRunnerHealthDevice: properties: device: type: string model: type: string product: type: string serial: type: string state: type: string transport_id: type: string type: object HandlersMobileRunnerListItem: properties: description: type: string devices: items: $ref: '#/components/schemas/HandlersMobileRunnerHealthDevice' type: array is_online: type: boolean is_owned: type: boolean is_published: type: boolean name: type: string path: type: string queue_length: nullable: true type: integer type: type: string url: type: string type: object HandlersPauseScheduleResponse: properties: message: type: string namespace: type: string scheduleId: type: string status: type: string time: type: string type: object HandlersPayload: properties: data: nullable: true type: string metadata: additionalProperties: type: string type: object type: object HandlersPayloads: items: $ref: '#/components/schemas/HandlersPayload' nullable: true type: array HandlersPendingActivityInfo: properties: activityId: type: string activityType: $ref: '#/components/schemas/HandlersActivityType' assignedBuildId: type: string attempt: type: integer expirationTime: type: string heartbeatDetails: $ref: '#/components/schemas/HandlersPayloads' lastFailure: $ref: '#/components/schemas/HandlersFailure' lastHeartbeatTime: type: string lastStartedTime: type: string lastWorkerIdentity: type: string maximumAttempts: type: integer scheduledTime: type: string state: type: string type: object HandlersPendingChildren: properties: initiatedId: type: string parentClosePolicy: type: string runId: type: string workflowId: type: string workflowTypeName: type: string type: object HandlersPendingNexusOperation: properties: attempt: type: integer endpoint: type: string lastAttemptCompleteTime: type: string lastAttemptFailure: $ref: '#/components/schemas/HandlersFailure' nextAttemptScheduleTime: type: string operation: type: string operationId: type: string scheduledEventId: type: string service: type: string state: type: string type: object HandlersPendingWorkflowTaskInfo: properties: attempt: type: integer lastFailure: $ref: '#/components/schemas/HandlersFailure' originalScheduledTime: type: string scheduledTime: type: string startedTime: type: string state: type: string type: object HandlersReRunWorkflowRequest: properties: config: additionalProperties: {} nullable: true type: object type: object HandlersReRunWorkflowResponse: properties: run_id: type: string workflow_id: type: string type: object HandlersResumeScheduleResponse: properties: message: type: string namespace: type: string scheduleId: type: string status: type: string time: type: string type: object HandlersRunCustomIntegrationRequestInput: properties: data: additionalProperties: {} nullable: true type: object timeoutSeconds: nullable: true type: integer yaml: type: string type: object HandlersScheduleInfoSummary: properties: display_name: type: string id: type: string next_action_time: type: string paused: type: boolean pipeline_id: type: string schedule_mode: $ref: '#/components/schemas/WorkflowengineScheduleMode' workflowType: $ref: '#/components/schemas/HandlersWorkflowType' type: object HandlersStartScheduleRequest: properties: global_runner_id: type: string pipeline_id: type: string schedule_mode: $ref: '#/components/schemas/WorkflowengineScheduleMode' type: object HandlersStartScheduleResponse: properties: message: type: string schedule_id: type: string schedule_mode: $ref: '#/components/schemas/WorkflowengineScheduleMode' type: object HandlersTaskQueue: properties: kind: type: string name: type: string normalName: type: string type: object HandlersTerminateMyWorkflowRunResponse: properties: message: type: string namespace: type: string runId: type: string status: type: string time: type: string workflowId: type: string type: object HandlersUserMetadata: properties: details: $ref: '#/components/schemas/HandlersPayload' summary: $ref: '#/components/schemas/HandlersPayload' type: object HandlersVersioningInfo: properties: useVersioning: nullable: true type: boolean type: object HandlersWorkflowExecutionConfigWithMetadata: properties: defaultWorkflowTaskTimeout: $ref: '#/components/schemas/HandlersDuration' taskQueue: $ref: '#/components/schemas/HandlersTaskQueue' userMetadata: $ref: '#/components/schemas/HandlersUserMetadata' workflowExecutionTimeout: $ref: '#/components/schemas/HandlersDuration' workflowRunTimeout: $ref: '#/components/schemas/HandlersDuration' type: object HandlersWorkflowExecutionInfo: properties: assignedBuildId: type: string closeTime: type: string execution: $ref: '#/components/schemas/HandlersWorkflowIdentifier' executionTime: type: string historyLength: type: string historySizeBytes: type: string memo: $ref: '#/components/schemas/HandlersMemo' searchAttributes: $ref: '#/components/schemas/HandlersWorkflowSearchAttributes' startTime: type: string stateTransitionCount: type: string status: type: string type: $ref: '#/components/schemas/HandlersWorkflowType' versioningInfo: $ref: '#/components/schemas/HandlersVersioningInfo' type: object HandlersWorkflowExecutionSummary: properties: children: items: $ref: '#/components/schemas/HandlersWorkflowExecutionSummary' type: array displayName: type: string duration: type: string endTime: type: string enqueuedAt: type: string execution: $ref: '#/components/schemas/HandlersWorkflowIdentifier' failure_reason: nullable: true type: string has_logs: type: boolean queue: $ref: '#/components/schemas/HandlersWorkflowQueueSummary' report: type: string results: items: $ref: '#/components/schemas/PipelineResultsPipelineResults' type: array startTime: type: string status: type: string type: $ref: '#/components/schemas/HandlersWorkflowType' type: object HandlersWorkflowExportData: properties: config: additionalProperties: {} nullable: true type: object input: additionalProperties: {} nullable: true type: object runId: type: string workflowId: type: string type: object HandlersWorkflowIdentifier: properties: runId: type: string workflowId: type: string type: object HandlersWorkflowLogsResponse: properties: channel: type: string message: type: string namespace: type: string run_id: type: string status: type: string time: type: string workflow_id: type: string type: object HandlersWorkflowQueueSummary: properties: line_len: type: integer position: type: integer runner_ids: items: type: string type: array ticket_id: type: string type: object HandlersWorkflowSearchAttributes: additionalProperties: {} nullable: true type: object HandlersWorkflowType: properties: name: type: string type: object PipelineResultsPipelineResults: properties: log: type: string screenshot: type: string video: type: string type: object WorkflowengineScheduleMode: properties: day: nullable: true type: integer mode: type: string type: object