IntegrationOS · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for One Projects API
15 actions
15 updates
phrasing
extends
openapi/integration-os-projects-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for IntegrationOS's API. It is a proposal applied on top of the contract, not a document IntegrationOS publishes.
What the actions change
x-apievangelist-phrasing
Targets 15
$.info
$.paths['/v1/management/organizations/{org_id}/projects'].get
$.paths['/v1/management/organizations/{org_id}/projects'].post
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}'].put
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}'].delete
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}/authkit'].put
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}/invitations'].get
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}/invitations'].post
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}/keys'].get
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}/keys'].post
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}/keys/{key_id}'].delete
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}/keys/{key_id}/configure'].put
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}/members'].get
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}/members'].put
$.paths['/v1/management/organizations/{org_id}/projects/{project_id}/members/{user_id}'].delete
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for One Projects API
version: 1.0.0
extends: openapi/integration-os-projects-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 14
- target: $.paths['/v1/management/organizations/{org_id}/projects'].get
update:
x-apievangelist-phrasing:
intent: List projects in an organization
effect: read
questions:
- What projects exist in my organization?
- Can I page through all projects under an org?
instructions:
- text: List projects in organization {org_id}.
slots:
org_id: path.org_id
- text: Show every project org {org_id} contains.
slots:
org_id: path.org_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects'].post
update:
x-apievangelist-phrasing:
intent: Create a project
effect: write
questions:
- How do I create a new project inside my organization?
- Can I get a project-scoped API key minted at the same time I create the project?
instructions:
- text: Create project {name} in organization {org_id}.
slots:
name: requestBody.name
org_id: path.org_id
- text: Create project {name} in org {org_id} and mint a key named {key_name} with it ({mint_key}).
slots:
name: requestBody.name
org_id: path.org_id
key_name: requestBody.keyName
mint_key: requestBody.mintKey
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}'].put
update:
x-apievangelist-phrasing:
intent: Rename or redescribe a project
effect: write
questions:
- How do I rename a project?
- Can I edit a project's description later?
instructions:
- text: Rename project {project_id} in org {org_id} to {name}.
slots:
project_id: path.project_id
org_id: path.org_id
name: requestBody.name
- text: Set the description of project {project_id} (org {org_id}) to {description}.
slots:
project_id: path.project_id
org_id: path.org_id
description: requestBody.description
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a project
effect: destructive
questions:
- How do I delete a project I am done with?
- Why won't a project delete while it still has active connections?
instructions:
- text: Delete project {project_id} from organization {org_id}.
slots:
project_id: path.project_id
org_id: path.org_id
- text: Soft-delete project {project_id} in org {org_id}.
slots:
project_id: path.project_id
org_id: path.org_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}/authkit'].put
update:
x-apievangelist-phrasing:
intent: Configure project-level embeddable auth
effect: write
questions:
- Can I give one project its own embeddable OAuth settings, separate from the organization?
- How do I set the OAuth client secret for a connector in just one project?
instructions:
- text: Enable embeddable auth for connector definition {connection_definition_id} in project {project_id}, org {org_id}, {environment}, active {active}.
slots:
connection_definition_id: requestBody.connectionDefinitionId
project_id: path.project_id
org_id: path.org_id
environment: requestBody.environment
active: requestBody.active
- text: Set project {project_id}'s embeddable auth client secret to {client_secret} in org {org_id}.
slots:
project_id: path.project_id
client_secret: requestBody.clientSecret
org_id: path.org_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}/invitations'].get
update:
x-apievangelist-phrasing:
intent: List pending project invitations
effect: read
questions:
- Who has an open invitation to a particular project?
- Can I list invites for one project rather than the whole org?
instructions:
- text: List pending invitations for project {project_id} in org {org_id}.
slots:
project_id: path.project_id
org_id: path.org_id
- text: Show outstanding invites to project {project_id} under organization {org_id}.
slots:
project_id: path.project_id
org_id: path.org_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}/invitations'].post
update:
x-apievangelist-phrasing:
intent: Invite someone to a project
effect: write
questions:
- How do I invite a collaborator to only one project?
- Can I choose the role a project invitee gets?
instructions:
- text: Invite {email} to project {project_id} in org {org_id}.
slots:
email: requestBody.email
project_id: path.project_id
org_id: path.org_id
- text: Invite {email} to project {project_id} (org {org_id}) as {role_key}.
slots:
email: requestBody.email
project_id: path.project_id
org_id: path.org_id
role_key: requestBody.roleKey
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}/keys'].get
update:
x-apievangelist-phrasing:
intent: List a project's API keys
effect: read
questions:
- Which API keys are scoped to a given project?
- Can I see project keys for the current environment only?
instructions:
- text: List API keys for project {project_id} in org {org_id}.
slots:
project_id: path.project_id
org_id: path.org_id
- text: Show the project-scoped keys of project {project_id} under organization {org_id}.
slots:
project_id: path.project_id
org_id: path.org_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}/keys'].post
update:
x-apievangelist-phrasing:
intent: Create a project API key
effect: write
questions:
- How do I mint an additional API key for a project?
- Can a new project key be given a label?
instructions:
- text: Create a new API key for project {project_id} in org {org_id}.
slots:
project_id: path.project_id
org_id: path.org_id
- text: Mint a project key named {name} for project {project_id}, organization {org_id}.
slots:
name: requestBody.name
project_id: path.project_id
org_id: path.org_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}/keys/{key_id}'].delete
update:
x-apievangelist-phrasing:
intent: Revoke a project API key
effect: destructive
questions:
- How do I revoke a project-scoped API key?
- Can I delete a key that belongs to a single project?
instructions:
- text: Delete key {key_id} from project {project_id} in org {org_id}.
slots:
key_id: path.key_id
project_id: path.project_id
org_id: path.org_id
- text: Revoke project {project_id}'s API key {key_id} under organization {org_id}.
slots:
key_id: path.key_id
project_id: path.project_id
org_id: path.org_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}/keys/{key_id}/configure'].put
update:
x-apievangelist-phrasing:
intent: Set passthrough rules on a project key
effect: write
questions:
- Can I limit which passthrough calls a project key is allowed to make?
- How do I replace the access rules on a project-scoped key?
instructions:
- text: Limit project key {key_id} in project {project_id}, org {org_id}, to methods {methods}.
slots:
key_id: path.key_id
project_id: path.project_id
org_id: path.org_id
methods: requestBody.methods
- text: Replace passthrough rules on project {project_id}'s key {key_id} (org {org_id}) with {rules}.
slots:
key_id: path.key_id
project_id: path.project_id
org_id: path.org_id
rules: requestBody.rules
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}/members'].get
update:
x-apievangelist-phrasing:
intent: List project members
effect: read
questions:
- Who has access to a specific project?
- Can I page through a project's users?
instructions:
- text: List members of project {project_id} in org {org_id}.
slots:
project_id: path.project_id
org_id: path.org_id
- text: Show the users on project {project_id}, organization {org_id}.
slots:
project_id: path.project_id
org_id: path.org_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}/members'].put
update:
x-apievangelist-phrasing:
intent: Change a member's project role
effect: write
questions:
- How do I change someone's role within one project?
- Can a user have a different role in a project than in the org?
instructions:
- text: Give user {user_id} role {role_key} in project {project_id}, org {org_id}.
slots:
user_id: requestBody.userId
role_key: requestBody.roleKey
project_id: path.project_id
org_id: path.org_id
- text: Switch {user_id}'s role on project {project_id} (organization {org_id}) to {role_key}.
slots:
user_id: requestBody.userId
role_key: requestBody.roleKey
project_id: path.project_id
org_id: path.org_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/management/organizations/{org_id}/projects/{project_id}/members/{user_id}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a member from a project
effect: destructive
questions:
- How do I take someone off a project but leave them in the organization?
- Does removing a project member affect their org membership?
instructions:
- text: Remove user {user_id} from project {project_id} in org {org_id}.
slots:
user_id: path.user_id
project_id: path.project_id
org_id: path.org_id
- text: Drop {user_id} from project {project_id} only, keeping them in organization {org_id}.
slots:
user_id: path.user_id
project_id: path.project_id
org_id: path.org_id
method: generated
generated: '2026-10-01'