generated: '2026-08-29' method: derived source: >- openapi/blue-prism-enterprise-api-openapi.yml (Blue Prism API 7.5.1) plus the Blue Prism Enterprise 7.5 documentation: https://documentation.blueprism.com/bp-7-5/en-us/bp-api/api-example-usage.htm, https://documentation.blueprism.com/bp-7-5/en-us/Guides/bp-api/api-configuration.htm, https://documentation.blueprism.com/bp-7-5/en-us/bp-api/api-user-permissions.htm, https://documentation.blueprism.com/bp-7-5/en-us/helpWebhooks.htm provider: Blue Prism providerId: blue-prism api: Blue Prism API 7.5.1 base_url: form: http(s)://
/api/v7 templated: true note: >- Blue Prism Enterprise is customer-hosted. The Blue Prism API is an MSI-installed IIS site on the customer's own web server, so
is environment-specific — the docs give https://bpapi.mydomain.com/api/v7 as the worked example. There is no vendor-operated multi-tenant host, which is why the published contract carries no servers[] block. docs: https://documentation.blueprism.com/bp-7-5/en-us/bp-api/api-example-usage.htm auth: style: oauth2-client-credentials + bearer JWT schemes: - Bearer (http bearer, JWT issued by Blue Prism Authentication Server) - OAuth2 clientCredentials, token endpoint /connect/token scopes: [bp-api, bpserver] identity_model: >- A service account created in Blue Prism Hub holds the client ID and secret. Permissions are granted per Blue Prism user role, not per OAuth scope — the two scopes are audience markers, and real authorization is the System Manager / Control Room permission matrix published at api-user-permissions.htm. Hub-synchronized API service accounts must hold the System Administrator role. detail: authentication/blue-prism-authentication.yml idempotency: supported: false header: null note: >- No Idempotency-Key (or equivalent) header exists anywhere in the 94-operation contract, and the docs do not describe one. Retrying POST /api/v7/workqueues/{workQueueId}/items or POST /api/v7/sessions after a timeout will create duplicate work. Clients must dedupe on their own keys — e.g. by reading the queue back with GET .../items before re-posting. pagination: style: opaque-cursor request_params: - name: pagingToken in: query description: Opaque token returned by the previous page; omit for the first page. - name: itemsPerPage in: query description: Page size. - name: sortBy in: query description: Sort key for the collection. response_field: pagingToken applies_to_operations: 22 note: >- Cursor pagination is consistent across all 22 collection endpoints (schedules, sessions, work queues, work queue items, logs, processes, resources, environment variables). The token is a base64 opaque string; no total-count field is returned, so a client cannot size a result set before walking it. filtering: style: typed filter objects note: >- Collection endpoints accept typed filter query parameters backed by named schemas — ContainsStringFilter, StartsWithStringFilter, EqualsFilter, GreaterThanOrEqualToFilter, LessThanOrEqualToFilter, RangeFilter — rather than free-form query syntax. partial_update: style: RFC 6902-shaped patch documents schemas: [PatchRequest, PatchDocument] note: >- PATCH operations take a patch document naming the path to update. The example-usage page enumerates the supported paths for environment variables (/value, /name, /description, /datatype) and warns that changing /datatype requires updating /value in the same change. docs: https://documentation.blueprism.com/bp-7-5/en-us/bp-api/api-example-usage.htm request_id_tracing: supported: false note: No correlation/request-id header is declared in the contract or documented. versioning: style: path current: v7 (/api/v7/...) contract_version: 7.5.1 policy: >- The API version is pinned to the product version: "The Blue Prism API version installed must always be the same as the Blue Prism Enterprise version number to use the API." A separate API reference document is published per point release (7.0.0 through 7.5.1 are all still served), so the effective versioning unit is the installed product build, not a rolling hosted API. detail: lifecycle/blue-prism-lifecycle.yml error_envelope: format: custom (not RFC 9457) shapes: [ErrorMessage (bare string), Error, ValidationError, UrlParameterError] detail: errors/blue-prism-problem-types.yml rate_limit_signaling: documented: false headers: [] status_on_exhaustion: null note: >- No 429 response is declared on any of the 94 operations and no RateLimit-* / X-RateLimit-* / Retry-After header appears in the contract or the documentation. Because the API runs on the customer's own IIS server, throughput is bounded by that deployment rather than by a vendor quota. See rate-limits/blue-prism-rate-limits.yml. dry_run_mode: supported: false note: No preview/validate-only/simulate mode exists on any write operation. reversibility: grade: documented grade_basis: >- Reversal paths exist and are named in the contract, but NO published document states a window inside which any of them works. Per the pipeline grading rule that is `documented` (0.4), not `verified` (1.0). No window has been invented here. write_surface: true write_operations: 43 surfaces: - surface: Work queue item processing forward: createWorkQueueItem / createWorkQueueItems (POST /api/v7/workqueues/{workQueueId}/items[/batch]) reversal: createWorkQueueItemAttempt reversal_operation: POST /api/v7/workqueues/{workQueueId}/items/{workQueueItemId}/attempts reversal_description: >- "Creates a new work queue item attempt by forcing an item to retry." This is the documented undo for a failed/exceptioned item — it re-queues the work rather than discarding it. window: null window_note: >- No retry window is published. The webhooks documentation states only that from Blue Prism Enterprise 7.5.1 a user force-retrying an item with inactive webhook subscriptions may also reactivate those subscriptions; it states no time limit. docs: https://documentation.blueprism.com/bp-7-5/en-us/helpWebhooks.htm - surface: Work queue item attempt forward: createWorkQueueItemAttempt reversal: deleteWorkQueueItemAttempt reversal_operation: DELETE /api/v7/workqueues/{workQueueId}/items/{workQueueItemId}/attempts/{attemptId} reversal_description: Deletes a worked queue item. window: null - surface: Schedule execution forward: startSchedule (POST /api/v7/schedules/{scheduleId}/sessions) reversal: stopSchedule reversal_operation: DELETE /api/v7/schedules/{scheduleId}/sessions reversal_description: >- "Request the schedule to stop." A cancel, not a rollback — work already performed by the digital worker inside the target application is not undone. window: null - surface: Session creation forward: createSession (POST /api/v7/sessions) reversal: deleteSession reversal_operation: DELETE /api/v7/sessions/{sessionId} reversal_description: >- "Deletes a specified PENDING session." The reversal is state-bounded rather than time-bounded: a session that has already started cannot be deleted this way. window: null window_note: Bounded by session state (pending), not by elapsed time. The docs state no duration. - surface: Scheduled task session forward: createScheduleSessionForTask reversal: deleteScheduledTaskSession reversal_operation: DELETE /api/v7/schedules/{scheduleId}/tasks/{taskId}/sessions/{sessionId} window: null - surface: Webhook subscription forward: CreateWebHookWorkQueueItem (POST /api/v7/workqueues/{workQueueId}/items/{workQueueItemId}/callbacks) reversal: updatesubscription (PATCH /api/v7/subscriptions/{subscriptionId}) reversal_description: >- Subscriptions are deactivated rather than deleted, and System Manager exposes Active and Inactive subscription screens. From 7.5.1 a subscription for a repeatable event (Data Updated, Locked, Retry Exception) stays active after a callback. window: null non_reversible: - deleteWorkQueue (DELETE /api/v7/workqueues/{workQueueId}) — no restore/undelete operation exists - deleteWorkQueueGroup — no restore operation - DELETE /api/v7/calendars/{calendarId} (no operationId in the contract) — no restore operation - deleteSchedule (DELETE /api/v7/schedules/{scheduleId}) — no restore operation - deleteEnvironmentVariable — no restore operation - deleteLicense (DELETE /api/v7/licenses/{licenseId}) — no restore operation - deleteScheduleTask — no restore operation agent_guidance: >- Before calling any DELETE in the non_reversible list, an agent should call the matching .../references endpoint (getWorkQueueReferences, getEnvironmentVariableReferences, GET /api/v7/calendars/{calendarId}/references) to see what depends on the object. Those reference endpoints are the closest thing this API has to a dry run. cross_links: errors: errors/blue-prism-problem-types.yml lifecycle: lifecycle/blue-prism-lifecycle.yml authentication: authentication/blue-prism-authentication.yml scopes: scopes/blue-prism-scopes.yml rate_limits: rate-limits/blue-prism-rate-limits.yml events: asyncapi/blue-prism-webhooks.yml maintainers: - FN: Kin Lane email: kin@apievangelist.com