openapi: 3.1.0 info: title: Salesforce Bulk API 2.0 Abort Runs API description: 'Salesforce Bulk API 2.0 is a simplified, REST-based interface for bulk data operations that improves on the original Bulk API. It uses a straightforward job model and supports CSV format for ingest and query jobs, enabling processing of millions of records asynchronously. ' version: v63.0 contact: name: Salesforce Developers url: https://developer.salesforce.com/ license: name: Salesforce Developer Terms url: https://www.salesforce.com/company/legal/agreements/ servers: - url: https://{instance}.salesforce.com/services/data/v{version}/jobs description: Salesforce Bulk API 2.0 jobs endpoint variables: instance: default: yourInstance description: 'The Salesforce instance identifier (e.g., na1, eu3, or a My Domain subdomain like mycompany). ' version: default: '63.0' description: 'The Salesforce API version number (e.g., 63.0). Use the latest supported version for new integrations. ' security: - BearerAuth: [] tags: - name: Runs paths: /data/v64.0/einstein/ai-evaluations/runs: parameters: [] post: tags: - Runs summary: Salesforce Run Agent Test description: Generates a response based on the specified prompt template and input parameters ([documentation](https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_prompt_template.htm)). operationId: Runagenttest parameters: [] requestBody: description: '' content: application/json: schema: allOf: - $ref: '#/components/schemas/RunagenttestRequest' - examples: - aiEvaluationDefinitionName: contentMediaType: application/json example: aiEvaluationDefinitionName: required: true responses: '201': description: Created headers: Date: content: text/plain: schema: type: string contentMediaType: text/plain example: Wed, 10 Sep 2025 13:46:14 GMT Transfer-Encoding: content: text/plain: schema: type: string contentMediaType: text/plain example: chunked Connection: content: text/plain: schema: type: string contentMediaType: text/plain example: keep-alive Vary: content: text/plain: schema: type: string contentMediaType: text/plain example: Accept-Encoding X-Content-Type-Options: content: text/plain: schema: type: string contentMediaType: text/plain example: nosniff Content-Encoding: content: text/plain: schema: type: string contentMediaType: text/plain example: gzip Sforce-Limit-Info: content: text/plain: schema: type: string contentMediaType: text/plain example: api-usage=183/5000000 Set-Cookie: content: text/plain: schema: type: string contentMediaType: text/plain example: CookieConsentPolicy=0:1; path=/; expires=Thu, 10-Sep-2026 13:46:14 GMT; Max-Age=31536000; secure X-Robots-Tag: content: text/plain: schema: type: string contentMediaType: text/plain example: none Cache-Control: content: text/plain: schema: type: string contentMediaType: text/plain example: no-cache,must-revalidate,max-age=0,no-store,private Server: content: text/plain: schema: type: string contentMediaType: text/plain example: sfdcedge X-SFDC-Request-Id: content: text/plain: schema: type: string contentMediaType: text/plain example: 543c8913aa732b136328d39c8546b5ac X-Request-Id: content: text/plain: schema: type: string contentMediaType: text/plain example: 543c8913aa732b136328d39c8546b5ac content: application/json: schema: allOf: - $ref: '#/components/schemas/Runagenttest' - examples: - runId: 4KBAU0000002oK54AI status: NEW contentMediaType: application/json example: runId: 4KBAU0000002oK54AI status: NEW deprecated: false servers: - url: https://services variables: {} x-api-evangelist-processing: PascalCaseOperationSummaries: true ChooseTags: true x-microcks-operation: delay: 0 dispatcher: FALLBACK /data/v64.0/tooling/runTestsAsynchronous: parameters: [] post: tags: - Runs summary: Salesforce Tooling Run Tests Async description: Runs one or more methods within one or more Apex classes, using the asynchronous test execution mechanism. In the request body, you can specify test class names and IDs, suite names and IDs, the maximum number of failed tests to allow, and the test level, as comma-separated lists or as an array. You can also indicate whether to opt out of collecting code coverage information during the test run (available in API version 43.0 and later). operationId: ToolingRunTestsAsync parameters: [] requestBody: description: '' content: application/json: schema: type: string examples: - "{\n \"classNames\": \"comma-separated list of class names\",\n \"classids\": \"comma-separated list of class IDs\",\n \"suiteNames\": \"comma-separated list of test suite names\",\n \"suiteids\": \"comma-separated list of test suite IDs\",\n \"maxFailedTests\": \"integer value\",\n \"testLevel\": \"TestLevel enum value\",\n \"skipCodeCoverage\": \"boolean value\"\n}\n\nor \n\n{\n \"tests\": [\n {\n \"className\": \"YourClassName\",\n \"testMethods\": [\n \"testMethod1\",\n \"testMethod2\",\n \"testMethod3\"\n ]\n }\n ],\n \"maxFailedTests\": \"integer value\",\n \"testLevel\": \"TestLevel enum value\",\n \"skipCodeCoverage\": \"boolean value\"\n}\n" contentMediaType: application/json example: "{\n \"classNames\": \"comma-separated list of class names\",\n \"classids\": \"comma-separated list of class IDs\",\n \"suiteNames\": \"comma-separated list of test suite names\",\n \"suiteids\": \"comma-separated list of test suite IDs\",\n \"maxFailedTests\": \"integer value\",\n \"testLevel\": \"TestLevel enum value\",\n \"skipCodeCoverage\": \"boolean value\"\n}\n\nor \n\n{\n \"tests\": [\n {\n \"className\": \"YourClassName\",\n \"testMethods\": [\n \"testMethod1\",\n \"testMethod2\",\n \"testMethod3\"\n ]\n }\n ],\n \"maxFailedTests\": \"integer value\",\n \"testLevel\": \"TestLevel enum value\",\n \"skipCodeCoverage\": \"boolean value\"\n}\n" required: true responses: '200': description: OK headers: Date: content: text/plain: schema: type: string contentMediaType: text/plain example: Mon, 11 Dec 2023 10:04:34 GMT Strict-Transport-Security: content: text/plain: schema: type: string contentMediaType: text/plain example: max-age=63072000; includeSubDomains X-Content-Type-Options: content: text/plain: schema: type: string contentMediaType: text/plain example: nosniff X-Robots-Tag: content: text/plain: schema: type: string contentMediaType: text/plain example: none Cache-Control: content: text/plain: schema: type: string contentMediaType: text/plain example: no-cache,must-revalidate,max-age=0,no-store,private Sforce-Limit-Info: content: text/plain: schema: type: string contentMediaType: text/plain example: api-usage=250/15000 Vary: content: text/plain: schema: type: string contentMediaType: text/plain example: Accept-Encoding Content-Encoding: content: text/plain: schema: type: string contentMediaType: text/plain example: gzip Transfer-Encoding: content: text/plain: schema: type: string contentMediaType: text/plain example: chunked content: application/json;charset=UTF-8: schema: type: string examples: - '"7074H0000DCt2IZ"' contentMediaType: application/json;charset=UTF-8 example: '"7074H0000DCt2IZ"' deprecated: false servers: - url: https://services variables: {} x-api-evangelist-processing: PascalCaseOperationSummaries: true ChooseTags: true x-microcks-operation: delay: 0 dispatcher: FALLBACK /data/v64.0/tooling/runTestsSynchronous: parameters: [] post: tags: - Runs summary: Salesforce Tooling Run Tests Sync description: Runs one or more methods within one or more Apex classes, using the asynchronous test execution mechanism. In the request body, you can specify test class names and IDs, suite names and IDs, the maximum number of failed tests to allow, and the test level, as comma-separated lists or as an array. You can also indicate whether to opt out of collecting code coverage information during the test run (available in API version 43.0 and later). operationId: ToolingRunTestsSync parameters: [] requestBody: description: '' content: application/json: schema: type: string examples: - "[\n {\n \"className\": \"YourClassName\",\n \"testMethods\": [\n \"testMethod1\",\n \"testMethod2\",\n \"testMethod3\"\n ]\n },\n {\n \"maxFailedTests\": \"2\"\n }\n]\n\nor\n\n{\n \"tests\": [\n {\n \"className\": \"YourClassName\",\n \"testMethods\": [\n \"testMethod1\",\n \"testMethod2\",\n \"testMethod3\"\n ]\n }\n ],\n \"maxFailedTests\": \"integer value\",\n \"testLevel\": \"TestLevel enum value\",\n \"skipCodeCoverage\": \"boolean value\"\n}\n" contentMediaType: application/json example: "[\n {\n \"className\": \"YourClassName\",\n \"testMethods\": [\n \"testMethod1\",\n \"testMethod2\",\n \"testMethod3\"\n ]\n },\n {\n \"maxFailedTests\": \"2\"\n }\n]\n\nor\n\n{\n \"tests\": [\n {\n \"className\": \"YourClassName\",\n \"testMethods\": [\n \"testMethod1\",\n \"testMethod2\",\n \"testMethod3\"\n ]\n }\n ],\n \"maxFailedTests\": \"integer value\",\n \"testLevel\": \"TestLevel enum value\",\n \"skipCodeCoverage\": \"boolean value\"\n}\n" required: true responses: '200': description: OK headers: Date: content: text/plain: schema: type: string contentMediaType: text/plain example: Mon, 11 Dec 2023 09:59:37 GMT Strict-Transport-Security: content: text/plain: schema: type: string contentMediaType: text/plain example: max-age=63072000; includeSubDomains X-Content-Type-Options: content: text/plain: schema: type: string contentMediaType: text/plain example: nosniff X-Robots-Tag: content: text/plain: schema: type: string contentMediaType: text/plain example: none Cache-Control: content: text/plain: schema: type: string contentMediaType: text/plain example: no-cache,must-revalidate,max-age=0,no-store,private Sforce-Limit-Info: content: text/plain: schema: type: string contentMediaType: text/plain example: api-usage=246/15000 Vary: content: text/plain: schema: type: string contentMediaType: text/plain example: Accept-Encoding Content-Encoding: content: text/plain: schema: type: string contentMediaType: text/plain example: gzip Transfer-Encoding: content: text/plain: schema: type: string contentMediaType: text/plain example: chunked content: application/json;charset=UTF-8: schema: allOf: - $ref: '#/components/schemas/ToolingRunTestsSync' - examples: - apexLogId: 07L4H00000SpGroUAF codeCoverage: - id: 01q4H000000WjD8QAK locationsNotCovered: - {} - {} name: StateTrigger namespace: null numLocations: 2 numLocationsNotCovered: 2 type: Trigger - id: 01q58000000RLTyAAO locationsNotCovered: - {} - {} - {} name: RestrictContactByName namespace: null numLocations: 3 numLocationsNotCovered: 3 type: Trigger - id: 01q58000000RLBhAAO locationsNotCovered: - {} - {} - {} - {} - {} - {} name: ClosedOpportunityTrigger namespace: null numLocations: 6 numLocationsNotCovered: 6 type: Trigger - id: 01p4H000009PEFIQA4 locationsNotCovered: - {} - {} name: PrepareSandbox namespace: null numLocations: 22 numLocationsNotCovered: 2 type: Class codeCoverageWarnings: - id: 01q4H000000WjD8QAK message: Test coverage of selected Apex Trigger is 0%, at least 1% test coverage is required name: StateTrigger namespace: null - id: 01q58000000RLTyAAO message: Test coverage of selected Apex Trigger is 0%, at least 1% test coverage is required name: RestrictContactByName namespace: null - id: 01q58000000RLBhAAO message: Test coverage of selected Apex Trigger is 0%, at least 1% test coverage is required name: ClosedOpportunityTrigger namespace: null - id: 01q4H000000WjD8QAK message: Average test coverage across all Apex Classes and Triggers is 60%, at least 75% test coverage is required. name: null namespace: '' failures: [] flowCoverage: [] flowCoverageWarnings: [] numFailures: 0 numTestsRun: 1 successes: - id: 01p4H00000A0zYxQAJ methodName: runApexClass_should_work name: PrepareSandboxTest namespace: null seeAllData: false time: 1088 totalTime: 1261 contentMediaType: application/json;charset=UTF-8 example: apexLogId: 07L4H00000SpGroUAF codeCoverage: - id: 01q4H000000WjD8QAK locationsNotCovered: - {} - {} name: StateTrigger namespace: null numLocations: 2 numLocationsNotCovered: 2 type: Trigger - id: 01q58000000RLTyAAO locationsNotCovered: - {} - {} - {} name: RestrictContactByName namespace: null numLocations: 3 numLocationsNotCovered: 3 type: Trigger - id: 01q58000000RLBhAAO locationsNotCovered: - {} - {} - {} - {} - {} - {} name: ClosedOpportunityTrigger namespace: null numLocations: 6 numLocationsNotCovered: 6 type: Trigger - id: 01p4H000009PEFIQA4 locationsNotCovered: - {} - {} name: PrepareSandbox namespace: null numLocations: 22 numLocationsNotCovered: 2 type: Class codeCoverageWarnings: - id: 01q4H000000WjD8QAK message: Test coverage of selected Apex Trigger is 0%, at least 1% test coverage is required name: StateTrigger namespace: null - id: 01q58000000RLTyAAO message: Test coverage of selected Apex Trigger is 0%, at least 1% test coverage is required name: RestrictContactByName namespace: null - id: 01q58000000RLBhAAO message: Test coverage of selected Apex Trigger is 0%, at least 1% test coverage is required name: ClosedOpportunityTrigger namespace: null - id: 01q4H000000WjD8QAK message: Average test coverage across all Apex Classes and Triggers is 60%, at least 75% test coverage is required. name: null namespace: '' failures: [] flowCoverage: [] flowCoverageWarnings: [] numFailures: 0 numTestsRun: 1 successes: - id: 01p4H00000A0zYxQAJ methodName: runApexClass_should_work name: PrepareSandboxTest namespace: null seeAllData: false time: 1088 totalTime: 1261 deprecated: false servers: - url: https://services variables: {} x-api-evangelist-processing: PascalCaseOperationSummaries: true ChooseTags: true x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: RunagenttestRequest: title: RunagenttestRequest required: - aiEvaluationDefinitionName type: object properties: aiEvaluationDefinitionName: type: string example: example_value examples: - aiEvaluationDefinitionName: CodeCoverageWarning: title: CodeCoverageWarning required: - id - message - name - namespace type: object properties: id: type: string example: abc123 message: type: string example: example_value name: type: - string - 'null' example: Example Title namespace: type: - string - 'null' example: example_value examples: - id: 01q4H000000WjD8QAK message: Test coverage of selected Apex Trigger is 0%, at least 1% test coverage is required name: StateTrigger namespace: null CodeCoverage: title: CodeCoverage required: - id - locationsNotCovered - name - namespace - numLocations - numLocationsNotCovered - type type: object properties: id: type: string example: abc123 locationsNotCovered: type: array items: type: object description: '' example: [] name: type: string example: Example Title namespace: type: - string - 'null' example: example_value numLocations: type: integer contentEncoding: int32 example: 10 numLocationsNotCovered: type: integer contentEncoding: int32 example: 10 type: type: string example: example_value examples: - id: 01q4H000000WjD8QAK locationsNotCovered: - {} - {} name: StateTrigger namespace: null numLocations: 2 numLocationsNotCovered: 2 type: Trigger Runagenttest: title: Runagenttest required: - runId - status type: object properties: runId: type: string example: '500123' status: type: string example: example_value examples: - runId: 4KBAU0000002oK54AI status: NEW ToolingRunTestsSync: title: ToolingRunTestsSync required: - apexLogId - codeCoverage - codeCoverageWarnings - failures - flowCoverage - flowCoverageWarnings - numFailures - numTestsRun - successes - totalTime type: object properties: apexLogId: type: string example: '500123' codeCoverage: type: array items: $ref: '#/components/schemas/CodeCoverage' description: '' example: [] codeCoverageWarnings: type: array items: $ref: '#/components/schemas/CodeCoverageWarning' description: '' example: [] failures: type: array items: type: string description: '' example: [] flowCoverage: type: array items: type: string description: '' example: [] flowCoverageWarnings: type: array items: type: string description: '' example: [] numFailures: type: integer contentEncoding: int32 example: 10 numTestsRun: type: integer contentEncoding: int32 example: 10 successes: type: array items: $ref: '#/components/schemas/Success1' description: '' example: [] totalTime: type: integer contentEncoding: int32 example: 1700000000000 examples: - apexLogId: 07L4H00000SpGroUAF codeCoverage: - id: 01q4H000000WjD8QAK locationsNotCovered: - {} - {} name: StateTrigger namespace: null numLocations: 2 numLocationsNotCovered: 2 type: Trigger - id: 01q58000000RLTyAAO locationsNotCovered: - {} - {} - {} name: RestrictContactByName namespace: null numLocations: 3 numLocationsNotCovered: 3 type: Trigger - id: 01q58000000RLBhAAO locationsNotCovered: - {} - {} - {} - {} - {} - {} name: ClosedOpportunityTrigger namespace: null numLocations: 6 numLocationsNotCovered: 6 type: Trigger - id: 01p4H000009PEFIQA4 locationsNotCovered: - {} - {} name: PrepareSandbox namespace: null numLocations: 22 numLocationsNotCovered: 2 type: Class codeCoverageWarnings: - id: 01q4H000000WjD8QAK message: Test coverage of selected Apex Trigger is 0%, at least 1% test coverage is required name: StateTrigger namespace: null - id: 01q58000000RLTyAAO message: Test coverage of selected Apex Trigger is 0%, at least 1% test coverage is required name: RestrictContactByName namespace: null - id: 01q58000000RLBhAAO message: Test coverage of selected Apex Trigger is 0%, at least 1% test coverage is required name: ClosedOpportunityTrigger namespace: null - id: 01q4H000000WjD8QAK message: Average test coverage across all Apex Classes and Triggers is 60%, at least 75% test coverage is required. name: null namespace: '' failures: [] flowCoverage: [] flowCoverageWarnings: [] numFailures: 0 numTestsRun: 1 successes: - id: 01p4H00000A0zYxQAJ methodName: runApexClass_should_work name: PrepareSandboxTest namespace: null seeAllData: false time: 1088 totalTime: 1261 Success1: title: Success1 required: - id - methodName - name - namespace - seeAllData - time type: object properties: id: type: string example: abc123 methodName: type: string example: example_value name: type: string example: Example Title namespace: type: - string - 'null' example: example_value seeAllData: type: boolean example: true time: type: integer contentEncoding: int32 example: 1700000000000 examples: - id: 01p4H00000A0zYxQAJ methodName: runApexClass_should_work name: PrepareSandboxTest namespace: null seeAllData: false time: 1088 securitySchemes: BearerAuth: type: http scheme: bearer description: 'OAuth 2.0 Bearer token obtained from the Salesforce OAuth 2.0 token endpoint. Include this token in the Authorization header as "Bearer {access_token}". '