openapi: 3.1.0 info: title: airbyte-api Applications Permissions API version: 1.0.0 description: Programmatically control Airbyte Cloud, OSS & Enterprise. servers: - url: https://api.airbyte.com/v1 description: Airbyte API v1 tags: - name: Permissions paths: /permissions/{permissionId}: parameters: - name: permissionId schema: format: UUID type: string in: path required: true get: tags: - Permissions responses: '200': content: application/json: schema: $ref: '#/components/schemas/PermissionResponse' examples: getPermission200Example: summary: Default getPermission 200 response x-microcks-default: true value: permissionId: abc123 permissionType: instance_admin userId: abc123 workspaceId: abc123 organizationId: abc123 description: Get a Permission by the id in the path. '403': description: Not allowed '404': description: Not found '422': description: Data issue operationId: getPermission summary: Airbyte Get Permission Details x-speakeasy-alias: getPermission x-speakeasy-group: Permissions x-speakeasy-entity-operation: Permission#read x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: tags: - Permissions requestBody: content: application/json: schema: $ref: '#/components/schemas/PermissionUpdateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PermissionResponse' examples: updatePermission200Example: summary: Default updatePermission 200 response x-microcks-default: true value: permissionId: abc123 permissionType: instance_admin userId: abc123 workspaceId: abc123 organizationId: abc123 description: Successful updated '400': description: Invalid data '403': description: Not allowed '404': description: Not found '422': description: Data issue operationId: updatePermission summary: Airbyte Update a Permission x-speakeasy-alias: updatePermission x-speakeasy-group: Permissions x-speakeasy-entity-operation: Permission#update x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: tags: - Permissions responses: '204': description: The resource was deleted successfully '403': description: Not allowed '404': description: Not found '422': description: Data issue operationId: deletePermission x-speakeasy-alias: deletePermission x-speakeasy-group: Permissions summary: Airbyte Delete a Permission x-speakeasy-entity-operation: Permission#delete x-microcks-operation: delay: 0 dispatcher: FALLBACK /permissions: get: tags: - Permissions parameters: - name: userId description: User Id in permission. schema: format: UUID type: string in: query required: false - name: organizationId description: This is required if you want to read someone else's permissions, and you should have organization admin or a higher role. schema: format: UUID type: string in: query required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/PermissionsResponse' examples: listPermissions200Example: summary: Default listPermissions 200 response x-microcks-default: true value: data: example description: List Permissions. '403': description: Not allowed '404': description: Not found operationId: listPermissions x-speakeasy-alias: listPermissions x-speakeasy-group: Permissions summary: Airbyte List Permissions by User Id x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Permissions requestBody: content: application/json: schema: $ref: '#/components/schemas/PermissionCreateRequest' examples: Permission Creation Request Example: value: permissionType: workspace_admin userId: 7d08fd6c-531e-4a00-937e-3d355f253e63 workspaceId: 9924bcd0-99be-453d-ba47-c2c9766f7da5 required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PermissionResponse' examples: Permission Creation Response Example: value: permissionId: 9924bcd0-99be-453d-ba47-c2c9766f7da5 permissionType: workspace_admin userId: 7d08fd6c-531e-4a00-937e-3d355f253e63 description: Successful operation '400': description: Invalid data '403': description: Not allowed operationId: createPermission x-speakeasy-alias: createPermission x-speakeasy-group: Permissions summary: Airbyte Create a Permission x-speakeasy-entity-operation: Permission#create x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: PublicPermissionType: type: string description: Subset of `PermissionType` (removing `instance_admin`), could be used in public-api. enum: - organization_admin - organization_editor - organization_runner - organization_reader - organization_member - workspace_admin - workspace_editor - workspace_runner - workspace_reader x-speakeasy-component: true PermissionScope: description: Scope of a single permission, e.g. workspace, organization type: string enum: - workspace - organization - none x-speakeasy-component: true OrganizationId: type: string format: uuid x-speakeasy-component: true UserId: type: string description: Internal Airbyte user ID format: uuid x-speakeasy-component: true PermissionType: type: string description: Describes what actions/endpoints the permission entitles to enum: - instance_admin - organization_admin - organization_editor - organization_runner - organization_reader - organization_member - workspace_owner - workspace_admin - workspace_runner - workspace_editor - workspace_reader x-speakeasy-component: true PermissionCreateRequest: required: - permissionType - userId type: object properties: permissionType: $ref: '#/components/schemas/PublicPermissionType' userId: $ref: '#/components/schemas/UserId' workspaceId: $ref: '#/components/schemas/WorkspaceId' organizationId: $ref: '#/components/schemas/OrganizationId' x-speakeasy-entity: Permission x-speakeasy-param-suppress-computed-diff: true x-speakeasy-component: true WorkspaceId: type: string format: uuid x-speakeasy-component: true PermissionResponse: title: Root Type for PermissionResponse description: Provides details of a single permission. type: object required: - permissionId - permissionType - userId properties: permissionId: type: string format: uuid permissionType: $ref: '#/components/schemas/PermissionType' userId: $ref: '#/components/schemas/UserId' workspaceId: $ref: '#/components/schemas/WorkspaceId' organizationId: $ref: '#/components/schemas/OrganizationId' x-speakeasy-entity: Permission x-speakeasy-param-suppress-computed-diff: true x-speakeasy-component: true PermissionUpdateRequest: required: - permissionType type: object properties: permissionType: $ref: '#/components/schemas/PermissionType' x-speakeasy-entity: Permission x-speakeasy-param-suppress-computed-diff: true x-speakeasy-component: true PermissionsResponse: title: Root Type for PermissionsResponse description: List/Array of multiple permissions required: - data type: object properties: data: type: array items: $ref: '#/components/schemas/PermissionResponseRead' x-speakeasy-component: true PermissionResponseRead: title: Root type for PermissionResponseRead description: Reformat PermissionResponse with permission scope type: object required: - permissionId - permissionType - userId - scope - scopeId properties: permissionId: type: string format: uuid permissionType: $ref: '#/components/schemas/PermissionType' userId: $ref: '#/components/schemas/UserId' scopeId: type: string format: uuid scope: $ref: '#/components/schemas/PermissionScope' x-speakeasy-entity: Permission x-speakeasy-param-suppress-computed-diff: true x-speakeasy-component: true