arazzo: 1.0.1
info:
title: PropelAuth Revoke Pending Invite
summary: Find a pending invite for an org and revoke it when one is outstanding.
description: >-
A find-then-act flow for cleaning up outstanding invitations. The workflow
reads the pending invites for an organization and branches: when at least one
invite is outstanding it revokes the invite for the supplied email, and when
none are pending it ends without acting. Each step inlines its request,
including the Backend Integration API key as a bearer token.
version: 1.0.0
x-realizes-capability-ids:
- BC-620.20
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-620.20
capability_name: Identity & Access Management
spec: propelauth-invites-api-openapi.yml
confidence: 0.75
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: invitesApi
url: ../openapi/propelauth-invites-api-openapi.yml
type: openapi
workflows:
- workflowId: revoke-pending-invite
summary: Look up an org's pending invites and revoke the one for a given email.
description: >-
Reads an organization's pending invites and, when at least one is
outstanding, revokes the invitation for the supplied email address.
inputs:
type: object
required:
- backendApiKey
- orgId
- inviteeEmail
properties:
backendApiKey:
type: string
description: PropelAuth Backend Integration API key presented as a bearer token.
orgId:
type: string
description: Identifier of the organization whose invite should be revoked.
inviteeEmail:
type: string
description: Email address of the pending invite to revoke.
steps:
- stepId: findInvites
description: Read the organization's pending invites.
operationId: fetchPendingInvites
parameters:
- name: Authorization
in: header
value: "Bearer $inputs.backendApiKey"
- name: org_id
in: query
value: $inputs.orgId
successCriteria:
- condition: $statusCode == 200
outputs:
totalInvites: $response.body#/total_invites
onSuccess:
- name: invitesExist
type: goto
stepId: revokeInvite
criteria:
- context: $response.body
condition: $.total_invites > 0
type: jsonpath
- name: noInvites
type: end
criteria:
- context: $response.body
condition: $.total_invites == 0
type: jsonpath
- stepId: revokeInvite
description: Revoke the pending invite for the supplied email address.
operationId: revokePendingOrgInvite
parameters:
- name: Authorization
in: header
value: "Bearer $inputs.backendApiKey"
requestBody:
contentType: application/json
payload:
org_id: $inputs.orgId
invitee_email: $inputs.inviteeEmail
successCriteria:
- condition: $statusCode == 200
outputs:
revokedStatus: $statusCode
outputs:
totalInvitesBefore: $steps.findInvites.outputs.totalInvites
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.