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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'