@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Snyk API
@base https://api.snyk.io/rest
@version REST
@auth ApiKey Authorization in header | Bearer bearer
@common_fields {version: str}
@endpoints 250
@hint download_for_search
@toc custom_base_images(5), groups(54), learn(1), openapi(2), orgs(126), self(10), tenants(52)

@group custom_base_images
@endpoint GET /custom_base_images
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, project_id: str(uuid), org_id: str(uuid), group_id: str(uuid), repository: str, tag: str, include_in_recommendations: bool, sort_by: str(repository/tag/version), sort_direction: str(ASC/DESC)=ASC}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /custom_base_images
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /custom_base_images/{custombaseimage_id}
@required {custombaseimage_id: str(uuid)}
@returns(204)
@errors {401, 404, 500}

@endpoint GET /custom_base_images/{custombaseimage_id}
@required {custombaseimage_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /custom_base_images/{custombaseimage_id}
@required {custombaseimage_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endgroup

@group groups
@endpoint GET /groups
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}
@required {group_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /groups/{group_id}/apps/installs
@required {group_id: str(uuid)}
@optional {expand: [str], starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /groups/{group_id}/apps/installs
@required {group_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /groups/{group_id}/apps/installs/{install_id}
@required {group_id: str(uuid), install_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /groups/{group_id}/apps/installs/{install_id}/secrets
@required {group_id: str(uuid), install_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /groups/{group_id}/assets/search
@required {group_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /groups/{group_id}/assets/{asset_id}
@required {asset_id: str(uuid), group_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint PATCH /groups/{group_id}/assets/{asset_id}
@required {asset_id: str(uuid), group_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /groups/{group_id}/assets/{asset_id}/relationships/assets
@required {group_id: str(uuid), asset_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: num=10, type: str(repository/package/image)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /groups/{group_id}/assets/{asset_id}/relationships/projects
@required {group_id: str(uuid), asset_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: num=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /groups/{group_id}/audit_logs/search
@required {group_id: str(uuid)}
@optional {cursor: str, from: str(date-time), to: str(date-time), size: int(int32)=100, sort_order: str(ASC/DESC)=DESC, user_id: str(uuid), project_id: str(uuid), events: [str], exclude_events: [str]}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /groups/{group_id}/export
@required {group_id: str(uuid)}
@optional {include_deleted: str, include_deactivated: str}
@returns(202)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /groups/{group_id}/export/{export_id}
@required {group_id: str(uuid), export_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /groups/{group_id}/inventory/assets
@required {group_id: str(uuid)}
@optional {filter: str, sort: str, limit: int=10, starting_after: str, ending_before: str, fields: map, meta_count: str(with/only)}
@returns(200)
@errors {400, 401, 403, 500}

@endpoint PATCH /groups/{group_id}/inventory/assets
@required {group_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/inventory/assets/filters
@required {group_id: str(uuid)}
@optional {asset_types: str, limit: int=10, starting_after: str, ending_before: str}
@returns(200)
@errors {400, 401, 403, 500}

@endpoint GET /groups/{group_id}/inventory/assets/filters/{filter_id}/values
@required {group_id: str(uuid), filter_id: str(uuid)}
@optional {q: str, limit: int=10, starting_after: str, ending_before: str, keys_only: bool, key: str}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/inventory/assets/groups
@required {group_id: str(uuid)}
@optional {asset_types: str, limit: int=10, starting_after: str, ending_before: str}
@returns(200)
@errors {400, 401, 403, 500}

@endpoint GET /groups/{group_id}/inventory/assets/groups/{group_field_id}/values
@required {group_id: str(uuid), group_field_id: str(uuid)}
@optional {asset_types: str, filter: str, sort: str, limit: int=10, starting_after: str, ending_before: str, meta_fields: [str], aggregate: map}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /groups/{group_id}/inventory/assets/searches
@required {group_id: str(uuid)}
@errors {302, 400, 500}

@endpoint GET /groups/{group_id}/inventory/assets/searches/{search_id}/results
@required {group_id: str(uuid), search_id: str(uuid)}
@optional {sort: str, limit: int=10, starting_after: str, ending_before: str, fields: map}
@returns(200)
@errors {404, 500}

@endpoint GET /groups/{group_id}/inventory/assets/{asset_id}
@required {group_id: str(uuid), asset_id: str(uuid)}
@optional {fields: map}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /groups/{group_id}/inventory/assets/{asset_id}
@required {group_id: str(uuid), asset_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/inventory/assets/{asset_id}/relationships/projects
@required {group_id: str(uuid), asset_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int=10, canonical: str(with/only/none), target_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/inventory/assets/{asset_id}/relationships/targets
@required {group_id: str(uuid), asset_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int=10}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/issues
@required {group_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, scan_item.id: str(uuid), scan_item.type: str, type: str, updated_before: str(date-time), updated_after: str(date-time), created_before: str(date-time), created_after: str(date-time), effective_severity_level: [str], status: [str], ignored: bool}
@returns(200)
@errors {401, 403, 404, 500}

@endpoint GET /groups/{group_id}/issues/{issue_id}
@required {group_id: str(uuid), issue_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /groups/{group_id}/jobs/export/{export_id}
@required {group_id: str(uuid), export_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /groups/{group_id}/memberships
@required {group_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, sort_by: str(username/user_display_name/email/login_method/role_name), sort_order: str(ASC/DESC)=DESC, email: str, user_id: str, username: str, role_name: str, include_group_membership_count: bool}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /groups/{group_id}/memberships
@required {group_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /groups/{group_id}/memberships/{membership_id}
@required {group_id: str(uuid), membership_id: str(uuid)}
@optional {cascade: bool}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint PATCH /groups/{group_id}/memberships/{membership_id}
@required {group_id: str(uuid), membership_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/org_memberships
@required {group_id: str(uuid), user_id: str(uuid)}
@optional {org_name: str, role_name: str, starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /groups/{group_id}/orgs
@required {group_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, name: str, slug: str}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/policies
@required {group_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404}

@endpoint POST /groups/{group_id}/policies
@required {group_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 500}

@endpoint DELETE /groups/{group_id}/policies/{policy_id}
@required {group_id: str(uuid), policy_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /groups/{group_id}/policies/{policy_id}
@required {group_id: str(uuid), policy_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409}

@endpoint GET /groups/{group_id}/service_accounts
@required {group_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /groups/{group_id}/service_accounts
@required {group_id: str(uuid)}
@returns(201)
@errors {400, 401, 404, 500}

@endpoint DELETE /groups/{group_id}/service_accounts/{serviceaccount_id}
@required {group_id: str(uuid), serviceaccount_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/service_accounts/{serviceaccount_id}
@required {group_id: str(uuid), serviceaccount_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /groups/{group_id}/service_accounts/{serviceaccount_id}
@required {group_id: str(uuid), serviceaccount_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /groups/{group_id}/service_accounts/{serviceaccount_id}/secrets
@required {group_id: str(uuid), serviceaccount_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/settings/iac
@required {group_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /groups/{group_id}/settings/iac
@required {group_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint DELETE /groups/{group_id}/settings/pull_request_template
@required {group_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/settings/pull_request_template
@required {group_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /groups/{group_id}/settings/pull_request_template
@required {group_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/sso_connections
@required {group_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /groups/{group_id}/sso_connections/{sso_id}/users
@required {group_id: str(uuid), sso_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint DELETE /groups/{group_id}/sso_connections/{sso_id}/users/{user_id}
@required {group_id: str(uuid), sso_id: str(uuid), user_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /groups/{group_id}/users/{id}
@required {group_id: str(uuid), id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endgroup

@group learn
@endpoint GET /learn/catalog
@optional {content_source: str(source-preview/cache), limit: int(int32)=10, starting_after: str, ending_before: str}
@returns(200)
@errors {404, 500}

@endgroup

@group openapi
@endpoint GET /openapi
@returns(200)
@errors {400, 401, 404, 500}

@endpoint GET /openapi/{version}
@returns(200)
@errors {400, 401, 404, 500}

@endgroup

@group orgs
@endpoint GET /orgs
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, group_id: str(uuid), is_personal: bool, slug: str, name: str, expand: [str]}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}
@required {org_id: str(uuid)}
@optional {expand: [str]}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint PATCH /orgs/{org_id}
@required {org_id: str(uuid)}
@returns(200)
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/ai_bom_jobs/{job_id}
@required {org_id: str(uuid), job_id: str(uuid)}
@returns(200)
@errors {303, 404, 500}

@endpoint POST /orgs/{org_id}/ai_boms
@required {org_id: str(uuid)}
@returns(202)
@errors {400, 404, 500, 503}

@endpoint POST /orgs/{org_id}/ai_boms/upload
@required {org_id: str(uuid)}
@returns(202)
@errors {400, 404, 500, 503}

@endpoint GET /orgs/{org_id}/ai_boms/{ai_bom_id}
@required {org_id: str(uuid), ai_bom_id: str(uuid)}
@returns(200)
@errors {404, 500}

@endpoint GET /orgs/{org_id}/app_bots
@required {org_id: str(uuid)}
@optional {expand: [str], starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /orgs/{org_id}/app_bots/{bot_id}
@required {bot_id: str(uuid), org_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/apps
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/apps
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/apps/creations
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/apps/creations
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /orgs/{org_id}/apps/creations/{app_id}
@required {org_id: str(uuid), app_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/apps/creations/{app_id}
@required {org_id: str(uuid), app_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint PATCH /orgs/{org_id}/apps/creations/{app_id}
@required {org_id: str(uuid), app_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/apps/creations/{app_id}/secrets
@required {org_id: str(uuid), app_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/apps/installs
@required {org_id: str(uuid)}
@optional {expand: [str], starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/apps/installs
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /orgs/{org_id}/apps/installs/{install_id}
@required {org_id: str(uuid), install_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/apps/installs/{install_id}/secrets
@required {org_id: str(uuid), install_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /orgs/{org_id}/apps/{client_id}
@required {org_id: str(uuid), client_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/apps/{client_id}
@required {org_id: str(uuid), client_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint PATCH /orgs/{org_id}/apps/{client_id}
@required {org_id: str(uuid), client_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/apps/{client_id}/secrets
@required {org_id: str(uuid), client_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/audit_logs/search
@required {org_id: str(uuid)}
@optional {cursor: str, from: str(date-time), to: str(date-time), size: int(int32)=100, sort_order: str(ASC/DESC)=DESC, user_id: str(uuid), project_id: str(uuid), events: [str], exclude_events: [str]}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/brokers/connections
@required {org_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint GET /orgs/{org_id}/cloud/environments
@required {org_id: str(uuid)}
@optional {created_after: str(date-time), created_before: str(date-time), updated_after: str(date-time), updated_before: str(date-time), name: str, kind: str, status: str(queued/in_progress/success/error/null), id: str(uuid), project_id: str(uuid), starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/cloud/environments
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /orgs/{org_id}/cloud/environments/{environment_id}
@required {org_id: str(uuid), environment_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint PATCH /orgs/{org_id}/cloud/environments/{environment_id}
@required {org_id: str(uuid), environment_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/cloud/permissions
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/cloud/resources
@required {org_id: str(uuid)}
@optional {environment_id: str(uuid), resource_type: str, resource_id: str, native_id: str, id: str, platform: str, name: str, kind: str, location: str, removed: bool, starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/cloud/scans
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/cloud/scans
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/cloud/scans/{scan_id}
@required {org_id: str(uuid), scan_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/collections
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, sort: str(name/projectsCount/issues), direction: str(ASC/DESC)=DESC, name: str, is_generated: bool}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /orgs/{org_id}/collections
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /orgs/{org_id}/collections/{collection_id}
@required {org_id: str(uuid), collection_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/collections/{collection_id}
@required {org_id: str(uuid), collection_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint PATCH /orgs/{org_id}/collections/{collection_id}
@required {org_id: str(uuid), collection_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /orgs/{org_id}/collections/{collection_id}/relationships/projects
@required {org_id: str(uuid), collection_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/collections/{collection_id}/relationships/projects
@required {org_id: str(uuid), collection_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, sort: str(imported/last_tested_at/issues), direction: str(ASC/DESC)=DESC, target_id: [str(uuid)], show: [str], integration: [str]}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /orgs/{org_id}/collections/{collection_id}/relationships/projects
@required {org_id: str(uuid), collection_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/container_images
@required {org_id: str(uuid)}
@optional {image_ids: [str(uri)], platform: str(aix/ppc64/android/386/android/amd64/android/arm/android/arm/v5/android/arm/v6/android/arm/v7/android/arm64/android/arm64/v8/darwin/amd64/darwin/arm/darwin/arm/v5/darwin/arm/v6/darwin/arm/v7/darwin/arm64/darwin/arm64/v8/dragonfly/amd64/freebsd/386/freebsd/amd64/freebsd/arm/freebsd/arm/v5/freebsd/arm/v6/freebsd/arm/v7/illumos/amd64/ios/arm64/ios/arm64/v8/js/wasm/linux/386/linux/amd64/linux/arm/linux/arm/v5/linux/arm/v6/linux/arm/v7/linux/arm64/linux/arm64/v8/linux/loong64/linux/mips/linux/mipsle/linux/mips64/linux/mips64le/linux/ppc64/linux/ppc64le/linux/riscv64/linux/s390x/linux/x86_64/netbsd/386/netbsd/amd64/netbsd/arm/netbsd/arm/v5/netbsd/arm/v6/netbsd/arm/v7/openbsd/386/openbsd/amd64/openbsd/arm/openbsd/arm/v5/openbsd/arm/v6/openbsd/arm/v7/openbsd/arm64/openbsd/arm64/v8/plan9/386/plan9/amd64/plan9/arm/plan9/arm/v5/plan9/arm/v6/plan9/arm/v7/solaris/amd64/windows/386/windows/amd64/windows/arm/windows/arm/v5/windows/arm/v6/windows/arm/v7/windows/arm64/windows/arm64/v8), names: [str], limit: int(int32)=10, starting_after: str, ending_before: str}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/container_images/{image_id}
@required {org_id: str(uuid), image_id: str(uri)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/container_images/{image_id}/relationships/image_target_refs
@required {org_id: str(uuid), image_id: str(uri)}
@optional {limit: int(int32)=10, starting_after: str, ending_before: str}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/container_import/{integration_id}/policy/dry_run
@required {org_id: str(uuid), integration_id: str(uuid)}
@returns(202)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/container_import/{integration_id}/policy/dry_run/{job_id}
@required {org_id: str(uuid), integration_id: str(uuid), job_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/ecosystems/{ecosystem}/packages/{package_name}
@required {org_id: str(uuid), ecosystem: str(npm/pypi/maven/nuget/golang), package_name: str}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/ecosystems/{ecosystem}/packages/{package_name}/versions/{package_version}
@required {org_id: str(uuid), ecosystem: str(npm/pypi/maven/nuget/golang), package_name: str, package_version: str}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/export
@required {org_id: str(uuid)}
@optional {include_deleted: str, include_deactivated: str}
@returns(202)
@errors {400, 401, 403, 404, 409, 429, 500}

@endpoint GET /orgs/{org_id}/export/{export_id}
@required {org_id: str(uuid), export_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/inventory/assets
@required {org_id: str(uuid)}
@optional {filter: str, sort: str, limit: int=10, starting_after: str, ending_before: str, fields: map, meta_count: str(with/only)}
@returns(200)
@errors {400, 401, 403, 500}

@endpoint PATCH /orgs/{org_id}/inventory/assets
@required {org_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/inventory/assets/filters
@required {org_id: str(uuid)}
@optional {asset_types: str, limit: int=10, starting_after: str, ending_before: str}
@returns(200)
@errors {400, 401, 403, 500}

@endpoint GET /orgs/{org_id}/inventory/assets/filters/{filter_id}/values
@required {org_id: str(uuid), filter_id: str(uuid)}
@optional {q: str, limit: int=10, starting_after: str, ending_before: str, keys_only: bool, key: str}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/inventory/assets/groups
@required {org_id: str(uuid)}
@optional {asset_types: str, limit: int=10, starting_after: str, ending_before: str}
@returns(200)
@errors {400, 401, 403, 500}

@endpoint GET /orgs/{org_id}/inventory/assets/groups/{group_field_id}/values
@required {org_id: str(uuid), group_field_id: str(uuid)}
@optional {asset_types: str, filter: str, sort: str, limit: int=10, starting_after: str, ending_before: str, meta_fields: [str], aggregate: map}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /orgs/{org_id}/inventory/assets/searches
@required {org_id: str(uuid)}
@errors {302, 400, 500}

@endpoint GET /orgs/{org_id}/inventory/assets/searches/{search_id}/results
@required {org_id: str(uuid), search_id: str(uuid)}
@optional {sort: str, limit: int=10, starting_after: str, ending_before: str, fields: map}
@returns(200)
@errors {404, 500}

@endpoint GET /orgs/{org_id}/inventory/assets/{asset_id}
@required {org_id: str(uuid), asset_id: str(uuid)}
@optional {fields: map}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /orgs/{org_id}/inventory/assets/{asset_id}
@required {org_id: str(uuid), asset_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/inventory/assets/{asset_id}/relationships/projects
@required {org_id: str(uuid), asset_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int=10, canonical: str(with/only/none), target_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/inventory/assets/{asset_id}/relationships/targets
@required {org_id: str(uuid), asset_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int=10}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/invites
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /orgs/{org_id}/invites
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 500}

@endpoint DELETE /orgs/{org_id}/invites/{invite_id}
@required {org_id: str(uuid), invite_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/issues
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, scan_item.id: str(uuid), scan_item.type: str, type: str, updated_before: str(date-time), updated_after: str(date-time), created_before: str(date-time), created_after: str(date-time), effective_severity_level: [str], status: [str], ignored: bool}
@returns(200)
@errors {401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/issues/{issue_id}
@required {org_id: str(uuid), issue_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/jobs/export/{export_id}
@required {org_id: str(uuid), export_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /orgs/{org_id}/learn/assignments
@required {org_id: str(uuid)}
@returns(204)
@errors {400, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/learn/assignments
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 403, 404, 500}

@endpoint PATCH /orgs/{org_id}/learn/assignments
@required {org_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint POST /orgs/{org_id}/learn/assignments
@required {org_id: str(uuid)}
@returns(204)
@errors {400, 403, 404, 500}

@endpoint POST /orgs/{org_id}/learn/assignments/bulk_delete
@required {org_id: str(uuid)}
@returns(204)
@errors {400, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/learn/progress/catalog
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, type: str(learning_path/lesson)=lesson, title: str, cwes: [str], cves: [str]}
@returns(200)
@errors {400, 403, 404, 500}

@endpoint GET /orgs/{org_id}/learn/progress/users
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, type: str(learning_path/lesson)=lesson, title: str, titles: [str], status: str(completed/inProgress), emails: [str(email)], completion_interval: str}
@returns(200)
@errors {400, 403, 404, 500}

@endpoint GET /orgs/{org_id}/memberships
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, sort_by: str(username/user_display_name/email/login_method/role), sort_order: str(ASC/DESC)=ASC, email: str, user_id: str, username: str, role_name: str}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /orgs/{org_id}/memberships
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /orgs/{org_id}/memberships/{membership_id}
@required {org_id: str(uuid), membership_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /orgs/{org_id}/memberships/{membership_id}
@required {org_id: str(uuid), membership_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/packages/issues
@required {org_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/packages/{purl}/issues
@required {purl: str, org_id: str(uuid)}
@optional {offset: int, limit: int}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/policies
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, search: str, order_by: str(created/expires/ignore-type/requested-by), order_direction: str(asc/desc), review: [str], expires_before: str(date-time), expires_after: str(date-time), expires_never: bool}
@returns(200)
@errors {400, 401, 403, 404}

@endpoint POST /orgs/{org_id}/policies
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 500}

@endpoint DELETE /orgs/{org_id}/policies/{policy_id}
@required {org_id: str(uuid), policy_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/policies/{policy_id}
@required {org_id: str(uuid), policy_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404}

@endpoint PATCH /orgs/{org_id}/policies/{policy_id}
@required {org_id: str(uuid), policy_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409}

@endpoint GET /orgs/{org_id}/policies/{policy_id}/events
@required {org_id: str(uuid), policy_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404}

@endpoint GET /orgs/{org_id}/projects
@required {org_id: str(uuid)}
@optional {target_id: [str(uuid)], target_reference: str, target_file: str, target_runtime: str, meta_count: str, ids: [str(uuid)], names: [str], names_start_with: [str], origins: [str], types: [str], expand: [str], meta.latest_issue_counts: bool, meta.latest_dependency_total: bool, cli_monitored_before: str(date-time), cli_monitored_after: str(date-time), importing_user_public_id: [str], tags: [str], business_criticality: [str], environment: [str], lifecycle: [str], starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint DELETE /orgs/{org_id}/projects/{project_id}
@required {org_id: str(uuid), project_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/projects/{project_id}
@required {org_id: str(uuid), project_id: str(uuid)}
@optional {expand: [str], meta.latest_issue_counts: bool, meta.latest_dependency_total: bool}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /orgs/{org_id}/projects/{project_id}
@required {org_id: str(uuid), project_id: str(uuid)}
@optional {expand: [str]}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/projects/{project_id}/sbom
@required {org_id: str(uuid), project_id: str(uuid)}
@optional {format: str(cyclonedx1.6+json/cyclonedx1.6+xml/cyclonedx1.5+json/cyclonedx1.5+xml/cyclonedx1.4+json/cyclonedx1.4+xml/spdx2.3+json), exclude: [str], go_module_level: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/sbom_tests
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/sbom_tests/{job_id}
@required {org_id: str(uuid), job_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/sbom_tests/{job_id}/results
@required {org_id: str(uuid), job_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, Accept: str}
@returns(200)

@endpoint GET /orgs/{org_id}/service_accounts
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /orgs/{org_id}/service_accounts
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 404, 500}

@endpoint DELETE /orgs/{org_id}/service_accounts/{serviceaccount_id}
@required {org_id: str(uuid), serviceaccount_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/service_accounts/{serviceaccount_id}
@required {org_id: str(uuid), serviceaccount_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /orgs/{org_id}/service_accounts/{serviceaccount_id}
@required {org_id: str(uuid), serviceaccount_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /orgs/{org_id}/service_accounts/{serviceaccount_id}/secrets
@required {org_id: str(uuid), serviceaccount_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/settings/iac
@required {org_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /orgs/{org_id}/settings/iac
@required {org_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/settings/opensource
@required {org_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /orgs/{org_id}/settings/sast
@required {org_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /orgs/{org_id}/settings/sast
@required {org_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 500}

@endpoint DELETE /orgs/{org_id}/slack_app/{bot_id}
@required {org_id: str(uuid), bot_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/slack_app/{bot_id}
@required {org_id: str(uuid), bot_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/slack_app/{bot_id}
@required {org_id: str(uuid), bot_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/slack_app/{bot_id}/projects
@required {org_id: str(uuid), bot_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /orgs/{org_id}/slack_app/{bot_id}/projects/{project_id}
@required {org_id: str(uuid), project_id: str(uuid), bot_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint PATCH /orgs/{org_id}/slack_app/{bot_id}/projects/{project_id}
@required {org_id: str(uuid), bot_id: str(uuid), project_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /orgs/{org_id}/slack_app/{bot_id}/projects/{project_id}
@required {org_id: str(uuid), project_id: str(uuid), bot_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/slack_app/{tenant_id}/channels
@required {org_id: str(uuid), tenant_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=1000}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/slack_app/{tenant_id}/channels/{channel_id}
@required {org_id: str(uuid), channel_id: str(uri), tenant_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /orgs/{org_id}/targets
@required {org_id: str(uuid)}
@optional {starting_after: str, ending_before: str, count: bool, limit: int(int32)=10, is_private: bool, exclude_empty: bool=true, url: str, source_types: [str], display_name: str, created_gte: str(date-time)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint DELETE /orgs/{org_id}/targets/{target_id}
@required {org_id: str(uuid), target_id: str(uuid)}
@returns(204)
@errors {400, 401, 404, 500}

@endpoint GET /orgs/{org_id}/targets/{target_id}
@required {org_id: str(uuid), target_id: str(uuid)}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint GET /orgs/{org_id}/test_jobs/{job_id}
@required {org_id: str(uuid), job_id: str(uuid)}
@optional {snyk-request-id: str(uuid), snyk-interaction-id: str}
@returns(200)
@errors {303, 400}

@endpoint POST /orgs/{org_id}/tests
@required {org_id: str(uuid)}
@optional {snyk-request-id: str(uuid), snyk-interaction-id: str}
@returns(202)
@errors {400}

@endpoint GET /orgs/{org_id}/tests/{test_id}
@required {org_id: str(uuid), test_id: str(uuid)}
@optional {snyk-request-id: str(uuid), snyk-interaction-id: str}
@returns(200)
@errors {400}

@endpoint GET /orgs/{org_id}/tests/{test_id}/findings
@required {org_id: str(uuid), test_id: str(uuid)}
@optional {snyk-request-id: str(uuid), snyk-interaction-id: str, starting_after: str, ending_before: str, limit: int(int8)=10}
@returns(200)
@errors {400}

@endpoint GET /orgs/{org_id}/users/{id}
@required {org_id: str(uuid), id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endgroup

@group self
@endpoint GET /self
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /self/access_requests
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, org_id: [str(uuid)]}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /self/apps
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /self/apps/installs
@optional {expand: [str], starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /self/apps/installs/{install_id}
@required {install_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /self/apps/{app_id}
@required {app_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /self/apps/{app_id}/sessions
@required {app_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /self/apps/{app_id}/sessions/{session_id}
@required {app_id: str(uuid), session_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /self/personal_access_tokens
@optional {ending_before: str, limit: int(int32)=10, starting_after: str}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint DELETE /self/personal_access_tokens/{personal_access_token_id}
@required {personal_access_token_id: str(ulid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endgroup

@group tenants
@endpoint GET /tenants
@optional {starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /tenants/{tenant_id}
@required {tenant_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint PATCH /tenants/{tenant_id}
@required {tenant_id: str(uuid)}
@returns(200)
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /tenants/{tenant_id}/brokers/connections/{connection_id}/integrations
@required {tenant_id: str(uuid), connection_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 404, 500}

@endpoint POST /tenants/{tenant_id}/brokers/connections/{connection_id}/orgs/{org_id}/integration
@required {tenant_id: str(uuid), connection_id: str(uuid), org_id: str(uuid)}
@returns(201)
@errors {400, 403, 404, 500}

@endpoint DELETE /tenants/{tenant_id}/brokers/connections/{connection_id}/orgs/{org_id}/integrations/{integration_id}
@required {tenant_id: str(uuid), connection_id: str(uuid), org_id: str(uuid), integration_id: str(uuid)}
@returns(204)
@errors {400, 403, 404, 500}

@endpoint GET /tenants/{tenant_id}/brokers/deployments
@required {tenant_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint GET /tenants/{tenant_id}/brokers/installs/{install_id}/connections/{connection_id}/contexts
@required {tenant_id: str(uuid), install_id: str(uuid), connection_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint DELETE /tenants/{tenant_id}/brokers/installs/{install_id}/contexts/{context_id}
@required {tenant_id: str(uuid), install_id: str(uuid), context_id: str(uuid)}
@returns(204)
@errors {400, 401, 404, 500}

@endpoint GET /tenants/{tenant_id}/brokers/installs/{install_id}/contexts/{context_id}
@required {tenant_id: str(uuid), install_id: str(uuid), context_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint PATCH /tenants/{tenant_id}/brokers/installs/{install_id}/contexts/{context_id}
@required {tenant_id: str(uuid), install_id: str(uuid), context_id: str(uuid)}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint PATCH /tenants/{tenant_id}/brokers/installs/{install_id}/contexts/{context_id}/integration
@required {tenant_id: str(uuid), install_id: str(uuid), context_id: str(uuid)}
@returns(200)
@errors {400, 404, 500}

@endpoint DELETE /tenants/{tenant_id}/brokers/installs/{install_id}/contexts/{context_id}/integrations/{integration_id}
@required {tenant_id: str(uuid), install_id: str(uuid), context_id: str(uuid), integration_id: str(uuid)}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /tenants/{tenant_id}/brokers/installs/{install_id}/deployments
@required {tenant_id: str(uuid), install_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint POST /tenants/{tenant_id}/brokers/installs/{install_id}/deployments
@required {tenant_id: str(uuid), install_id: str(uuid)}
@returns(201)
@errors {400, 401, 404, 500}

@endpoint DELETE /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid)}
@returns(204)
@errors {400, 401, 404, 500}

@endpoint PATCH /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid)}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint DELETE /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/connections
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid)}
@returns(204)
@errors {400, 401, 404, 500}

@endpoint GET /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/connections
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint POST /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/connections
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid)}
@returns(201)
@errors {400, 401, 404, 500}

@endpoint DELETE /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/connections/{connection_id}
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid), connection_id: str(uuid)}
@returns(204)
@errors {400, 401, 404, 500}

@endpoint GET /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/connections/{connection_id}
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid), connection_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint PATCH /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/connections/{connection_id}
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid), connection_id: str(uuid)}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint GET /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/connections/{connection_id}/bulk_migration
@required {connection_id: str(uuid), deployment_id: str(uuid), install_id: str(uuid), tenant_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 404, 500}

@endpoint POST /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/connections/{connection_id}/bulk_migration
@required {connection_id: str(uuid), deployment_id: str(uuid), install_id: str(uuid), tenant_id: str(uuid)}
@returns(201)
@errors {400, 404, 500}

@endpoint GET /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/contexts
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint POST /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/contexts
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid)}
@returns(201)
@errors {400, 401, 404, 500}

@endpoint GET /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/credentials
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint POST /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/credentials
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid)}
@returns(201)
@errors {400, 401, 404, 500}

@endpoint DELETE /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/credentials/{credential_id}
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid), credential_id: str(uuid)}
@returns(204)
@errors {400, 401, 404, 500}

@endpoint GET /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/credentials/{credential_id}
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid), credential_id: str(uuid)}
@optional {ending_before: str, starting_after: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint PATCH /tenants/{tenant_id}/brokers/installs/{install_id}/deployments/{deployment_id}/credentials/{credential_id}
@required {tenant_id: str(uuid), install_id: str(uuid), deployment_id: str(uuid), credential_id: str(uuid)}
@returns(200)
@errors {400, 401, 404, 500}

@endpoint GET /tenants/{tenant_id}/inventory/assets
@required {tenant_id: str(uuid)}
@optional {filter: str, sort: str, limit: int=10, starting_after: str, ending_before: str, fields: map, meta_count: str(with/only)}
@returns(200)
@errors {400, 401, 403, 500}

@endpoint PATCH /tenants/{tenant_id}/inventory/assets
@required {tenant_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 500}

@endpoint GET /tenants/{tenant_id}/inventory/assets/filters
@required {tenant_id: str(uuid)}
@optional {asset_types: str, limit: int=10, starting_after: str, ending_before: str}
@returns(200)
@errors {400, 401, 403, 500}

@endpoint GET /tenants/{tenant_id}/inventory/assets/filters/{filter_id}/values
@required {tenant_id: str(uuid), filter_id: str(uuid)}
@optional {q: str, limit: int=10, starting_after: str, ending_before: str, keys_only: bool, key: str}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /tenants/{tenant_id}/inventory/assets/groups
@required {tenant_id: str(uuid)}
@optional {asset_types: str, limit: int=10, starting_after: str, ending_before: str}
@returns(200)
@errors {400, 401, 403, 500}

@endpoint GET /tenants/{tenant_id}/inventory/assets/groups/{group_field_id}/values
@required {tenant_id: str(uuid), group_field_id: str(uuid)}
@optional {asset_types: str, filter: str, sort: str, limit: int=10, starting_after: str, ending_before: str, meta_fields: [str], aggregate: map}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint POST /tenants/{tenant_id}/inventory/assets/searches
@required {tenant_id: str(uuid)}
@errors {302, 400, 500}

@endpoint GET /tenants/{tenant_id}/inventory/assets/searches/{search_id}/results
@required {tenant_id: str(uuid), search_id: str(uuid)}
@optional {sort: str, limit: int=10, starting_after: str, ending_before: str, fields: map}
@returns(200)
@errors {404, 500}

@endpoint GET /tenants/{tenant_id}/inventory/assets/{asset_id}
@required {tenant_id: str(uuid), asset_id: str(uuid)}
@optional {fields: map}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint PATCH /tenants/{tenant_id}/inventory/assets/{asset_id}
@required {tenant_id: str(uuid), asset_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /tenants/{tenant_id}/inventory/assets/{asset_id}/relationships/projects
@required {tenant_id: str(uuid), asset_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int=10, canonical: str(with/only/none), target_id: str(uuid)}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /tenants/{tenant_id}/inventory/assets/{asset_id}/relationships/targets
@required {tenant_id: str(uuid), asset_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int=10}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint GET /tenants/{tenant_id}/memberships
@required {tenant_id: str(uuid)}
@optional {starting_after: str, ending_before: str, limit: int(int32)=10, sort_by: str(username/user_display_name/email/login_method/role_name), sort_order: str(ASC/DESC)=ASC, email: str, user_id: str(uuid), name: str, username: str, connection_type: str, role_name: str}
@returns(200)
@errors {400, 401, 403, 404, 500}

@endpoint DELETE /tenants/{tenant_id}/memberships/{membership_id}
@required {membership_id: str(uuid), tenant_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint PATCH /tenants/{tenant_id}/memberships/{membership_id}
@required {tenant_id: str(uuid), membership_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /tenants/{tenant_id}/roles
@required {tenant_id: str(uuid)}
@optional {name: str, custom: bool, assignable_by_me: bool, expand_permissions: bool=false, starting_after: str, ending_before: str, limit: int(int32)=10}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint POST /tenants/{tenant_id}/roles
@required {tenant_id: str(uuid)}
@returns(201)
@errors {400, 401, 403, 404, 409, 500}

@endpoint DELETE /tenants/{tenant_id}/roles/{role_id}
@required {tenant_id: str(uuid), role_id: str(uuid)}
@returns(204)
@errors {400, 401, 403, 404, 409, 500}

@endpoint GET /tenants/{tenant_id}/roles/{role_id}
@required {tenant_id: str(uuid), role_id: str(uuid)}
@optional {has_users_assigned: bool=false}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endpoint PATCH /tenants/{tenant_id}/roles/{role_id}
@required {tenant_id: str(uuid), role_id: str(uuid)}
@optional {force: bool}
@returns(200)
@errors {400, 401, 403, 404, 409, 500}

@endgroup

@end
