{ "name": "dependency", "imports": [ { "uri": "https://app.apibuilder.io/flow/common/latest/service.json" }, { "uri": "https://app.apibuilder.io/flow/error/latest/service.json" }, { "uri": "https://app.apibuilder.io/flow/healthcheck/latest/service.json" }, { "uri": "https://app.apibuilder.io/flow/github/0.0.3/service.json" } ], "unions": { "item_summary": { "discriminator": "discriminator", "types": [ { "type": "binary_summary" }, { "type": "library_summary" }, { "type": "project_summary" } ] }, "credentials": { "discriminator": "discriminator", "types": [ { "type": "username_password" } ] }, "task_data": { "discriminator": "discriminator", "types": [ { "type": "task_data_upserted" }, { "type": "task_data_sync" }, { "type": "task_data_sync_one" }, { "type": "task_data_sync_libraries_by_prefix" }, { "type": "task_data_sync_organization_libraries" } ] } }, "enums": { "sync_type": { "values": [ { "name": "project" }, { "name": "library" }, { "name": "binary" } ] }, "role": { "values": [ { "name": "member" }, { "name": "admin" } ] }, "scms": { "values": [ { "name": "github" } ] }, "binary_type": { "values": [ { "name": "scala", "description": "See http://www.scala-lang.org/" }, { "name": "sbt", "description": "See http://www.scala-sbt.org/" } ] }, "publication": { "description": "A publication represents something that a user can subscribe to.", "values": [ { "name": "daily_summary", "description": "A daily summary of dependencies that can be upgraded" } ] }, "recommendation_type": { "values": [ { "name": "library" }, { "name": "binary" } ] }, "sync_event": { "values": [ { "name": "started" }, { "name": "completed" } ] }, "visibility": { "values": [ { "name": "public" }, { "name": "private" } ] } }, "models": { "task_data_sync": { "fields": [ { "name": "type", "type": "sync_type", "required": false, "description": "If not specified, we sync all types" } ] }, "task_data_sync_one": { "fields": [ { "name": "id", "type": "string" }, { "name": "type", "type": "sync_type" } ] }, "task_data_sync_libraries_by_prefix": { "fields": [ { "name": "user_id", "type": "string" }, { "name": "prefix", "type": "string" } ] }, "task_data_sync_organization_libraries": { "fields": [ { "name": "organization_id", "type": "string" } ] }, "task_data_upserted": { "description": "Represents that a new, for example, project was created or updated", "fields": [ { "name": "id", "type": "string" }, { "name": "type", "type": "sync_type" } ] }, "reference": { "fields": [ { "name": "id", "type": "string" } ] }, "username_password": { "fields": [ { "name": "username", "type": "string" }, { "name": "password", "type": "string", "required": false } ] }, "resolver": { "fields": [ { "name": "id", "type": "string" }, { "name": "visibility", "type": "visibility" }, { "name": "organization", "type": "organization_summary", "required": false, "description": "The organization that created the resolver. If empty, indicates a globally public resolver" }, { "name": "uri", "type": "string", "example": "https://flow.artifactoryonline.com/flow/libs-release" }, { "name": "credentials", "type": "credentials", "required": false } ] }, "resolver_summary": { "fields": [ { "name": "id", "type": "string" }, { "name": "organization", "type": "organization_summary", "required": false }, { "name": "visibility", "type": "visibility" }, { "name": "uri", "type": "string" } ] }, "resolver_form": { "fields": [ { "name": "visibility", "type": "visibility" }, { "name": "organization", "type": "string" }, { "name": "uri", "type": "string" }, { "name": "credentials", "type": "credentials", "required": false } ] }, "binary": { "fields": [ { "name": "id", "type": "string" }, { "name": "organization", "type": "organization_summary" }, { "name": "name", "type": "binary_type" } ] }, "binary_form": { "fields": [ { "name": "organization_id", "type": "string" }, { "name": "name", "type": "binary_type" } ] }, "binary_summary": { "fields": [ { "name": "id", "type": "string" }, { "name": "organization", "type": "organization_summary" }, { "name": "name", "type": "binary_type" } ] }, "binary_version": { "fields": [ { "name": "id", "type": "string" }, { "name": "binary", "type": "binary" }, { "name": "version", "type": "string" } ] }, "library": { "fields": [ { "name": "id", "type": "string" }, { "name": "organization", "type": "organization_summary" }, { "name": "group_id", "type": "string" }, { "name": "artifact_id", "type": "string" }, { "name": "resolver", "type": "resolver_summary", "description": "The resolver where we found this library" } ] }, "library_form": { "fields": [ { "name": "organization_id", "type": "string" }, { "name": "group_id", "type": "string" }, { "name": "artifact_id", "type": "string" }, { "name": "resolver_id", "type": "string" }, { "name": "version", "type": "version_form", "required": false, "description": "If provided, we automatically record this version of this library." } ] }, "library_summary": { "fields": [ { "name": "id", "type": "string" }, { "name": "organization", "type": "organization_summary" }, { "name": "group_id", "type": "string" }, { "name": "artifact_id", "type": "string" } ] }, "version_form": { "fields": [ { "name": "version", "type": "string", "example": "1.0.0" }, { "name": "cross_build_version", "type": "string", "example": "2.11", "required": false } ] }, "library_version": { "fields": [ { "name": "id", "type": "string" }, { "name": "library", "type": "library" }, { "name": "version", "type": "string" }, { "name": "cross_build_version", "type": "string", "required": false } ] }, "organization": { "fields": [ { "name": "id", "type": "string" }, { "name": "user", "type": "io.flow.common.v0.models.user_reference", "description": "The user that created this organization" }, { "name": "key", "type": "string" } ] }, "organization_form": { "fields": [ { "name": "key", "type": "string" } ] }, "organization_summary": { "fields": [ { "name": "id", "type": "string" }, { "name": "key", "type": "string" } ] }, "project": { "fields": [ { "name": "id", "type": "string" }, { "name": "organization", "type": "organization_summary" }, { "name": "user", "type": "io.flow.common.v0.models.user_reference", "description": "The user that created this project" }, { "name": "visibility", "type": "visibility" }, { "name": "scms", "type": "scms" }, { "name": "name", "type": "string" }, { "name": "uri", "type": "string" }, { "name": "branch", "type": "string" } ] }, "project_detail": { "fields": [ { "name": "id", "type": "string" }, { "name": "organization", "type": "organization_summary" }, { "name": "name", "type": "string" } ] }, "project_summary": { "fields": [ { "name": "id", "type": "string" }, { "name": "organization", "type": "organization_summary" }, { "name": "name", "type": "string" } ] }, "project_library": { "fields": [ { "name": "id", "type": "string" }, { "name": "project", "type": "project_detail" }, { "name": "group_id", "type": "string" }, { "name": "artifact_id", "type": "string" }, { "name": "version", "type": "string" }, { "name": "cross_build_version", "type": "string", "required": false }, { "name": "path", "type": "string" }, { "name": "library", "type": "reference", "required": false } ] }, "project_binary": { "fields": [ { "name": "id", "type": "string" }, { "name": "project", "type": "project_detail" }, { "name": "name", "type": "string" }, { "name": "version", "type": "string" }, { "name": "path", "type": "string" }, { "name": "binary", "type": "reference", "required": false } ] }, "project_form": { "fields": [ { "name": "organization", "type": "string" }, { "name": "name", "type": "string" }, { "name": "visibility", "type": "visibility" }, { "name": "scms", "type": "scms" }, { "name": "uri", "type": "string" }, { "name": "branch", "type": "string" } ] }, "repository": { "fields": [ { "name": "name", "type": "string" }, { "name": "visibility", "type": "visibility" }, { "name": "uri", "type": "string" } ] }, "project_patch_form": { "fields": [ { "name": "name", "type": "string", "required": false }, { "name": "visibility", "type": "visibility", "required": false }, { "name": "scms", "type": "scms", "required": false }, { "name": "uri", "type": "string", "required": false }, { "name": "branch", "type": "string", "required": false } ] }, "recommendation": { "description": "Summary of a specific recommendations for a project. Designed for display in the project dashboard", "fields": [ { "name": "id", "type": "string" }, { "name": "project", "type": "project_detail" }, { "name": "type", "type": "recommendation_type" }, { "name": "object", "type": "reference" }, { "name": "name", "type": "string", "description": "The name of the library or binary to upgrade" }, { "name": "from", "type": "string", "description": "The current version" }, { "name": "to", "type": "string", "description": "The version to which we recommend upgrading" }, { "name": "created_at", "type": "date-time-iso8601" } ] }, "user_form": { "fields": [ { "name": "email", "type": "string", "required": false }, { "name": "name", "type": "io.flow.common.v0.models.name", "required": false } ] }, "github_user_form": { "fields": [ { "name": "user_id", "type": "string" }, { "name": "github_user_id", "type": "long" }, { "name": "login", "type": "string" } ] }, "github_user": { "fields": [ { "name": "id", "type": "string" }, { "name": "user", "type": "io.flow.common.v0.models.user_reference" }, { "name": "github_user_id", "type": "long" }, { "name": "login", "type": "string" } ] }, "github_authentication_form": { "description": "Used to authenticate user based on the oauth code we receive from github", "fields": [ { "name": "code", "type": "string" } ] }, "user_identifier": { "fields": [ { "name": "id", "type": "string" }, { "name": "user", "type": "io.flow.common.v0.models.user_reference" }, { "name": "value", "type": "string" } ] }, "token": { "fields": [ { "name": "id", "type": "string" }, { "name": "user", "type": "io.flow.common.v0.models.user_reference" }, { "name": "masked", "type": "string" }, { "name": "cleartext", "type": "string", "required": false, "description": "The cleartext token. Only available when the token is initially created" }, { "name": "description", "type": "string", "required": false } ] }, "token_form": { "fields": [ { "name": "user_id", "type": "string" }, { "name": "description", "type": "string", "required": false } ] }, "subscription": { "description": "Represents a user that is currently subscribed to a publication", "fields": [ { "name": "id", "type": "string", "description": "Internal unique identifier for this subscription record" }, { "name": "user", "type": "io.flow.common.v0.models.user_reference" }, { "name": "publication", "type": "publication" } ] }, "subscription_form": { "fields": [ { "name": "user_id", "type": "string" }, { "name": "publication", "type": "publication" } ] }, "item": { "description": "A denormalization of item content for search", "fields": [ { "name": "id", "type": "string", "description": "Unique identifier for this item." }, { "name": "organization", "type": "organization_summary" }, { "name": "visibility", "type": "visibility" }, { "name": "summary", "type": "item_summary" }, { "name": "label", "type": "string" }, { "name": "description", "type": "string", "required": false } ] }, "sync": { "description": "Records when we start and complete each sync of a module (e.g. project)", "fields": [ { "name": "id", "type": "string", "description": "Unique identifier for this item." }, { "name": "object_id", "type": "string" }, { "name": "event", "type": "sync_event" }, { "name": "created_at", "type": "date-time-iso8601" } ] }, "user_summary": { "fields": [ { "name": "id", "type": "string" }, { "name": "email", "type": "string", "required": false }, { "name": "name", "type": "io.flow.common.v0.models.name" } ] }, "membership": { "description": "A user can belong to one or more organizations via memberships.", "fields": [ { "name": "id", "type": "string", "description": "Unique identifier for this membership" }, { "name": "user", "type": "user_summary" }, { "name": "organization", "type": "organization_summary" }, { "name": "role", "type": "role" } ] }, "membership_form": { "fields": [ { "name": "user_id", "type": "string" }, { "name": "organization", "type": "string" }, { "name": "role", "type": "role", "default": "member" } ] }, "github_webhook": { "description": "Defines a github hook", "fields": [ { "name": "id", "type": "long" } ] }, "project_dependency_resolution": { "description": "Provides an ordered set of projects such that each set of projects is sure to have its dependencies resolved. ie. when upgrading projects, you can efficiently upgrade each set of projects in resolved togther.", "fields": [ { "name": "resolved", "type": "[project_dependency_resolution_resolved]" }, { "name": "unresolved", "type": "[project_unresolved_summary]", "description": "A list of projects that could not be resolved due to circular dependencies" }, { "name": "steps", "type": "map[string]" } ] }, "project_dependency_resolution_resolved": { "fields": [ { "name": "projects", "type": "[project_summary]" } ] }, "project_unresolved_summary": { "fields": [ { "name": "project", "type": "project_summary" }, { "name": "resolved_libraries", "type": "[string]" }, { "name": "unresolved_libraries", "type": "[string]", "minimum": 1 } ] } }, "resources": { "io.flow.healthcheck.v0.models.healthcheck": { "path": "/_internal_", "operations": [ { "method": "GET", "path": "/healthcheck", "responses": { "200": { "type": "io.flow.healthcheck.v0.models.healthcheck" } } } ] }, "github_user": { "path": "/authentications", "operations": [ { "method": "POST", "path": "/github", "description": "Used to authenticate a user via github", "body": { "type": "github_authentication_form" }, "responses": { "200": { "type": "io.flow.common.v0.models.user" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } } ] }, "io.flow.common.v0.models.user": { "path": "/users", "operations": [ { "method": "GET", "description": "Search for a specific user. You must specify at least 1 parameter - either a id or email - and will receive back either 0 or 1 users.", "parameters": [ { "name": "id", "type": "string", "description": "Find user with this id. Exact match", "required": false }, { "name": "email", "type": "string", "description": "Find user with this email address. Case in-sensitive. Exact match", "required": false }, { "name": "identifier", "type": "string", "description": "Find user associated with this randomly generated identifier. Exact match", "required": false } ], "responses": { "200": { "type": "[io.flow.common.v0.models.user]" }, "401": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "GET", "description": "Returns information about the user with this id.", "path": "/:id", "responses": { "200": { "type": "io.flow.common.v0.models.user" }, "401": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "GET", "description": "Returns the latest identifier for this user. The basic use case is to enable things like unsubscribe w/out login (and thus once you have an identifier, you can GET /users?identifier=xxx). Identifiers are rotated regularly with last n identifiers being valid (allowing eventual expiration).", "path": "/:id/identifier", "responses": { "200": { "type": "user_identifier" }, "401": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "description": "Create a new user.", "body": { "type": "user_form" }, "responses": { "201": { "type": "io.flow.common.v0.models.user" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } } ] }, "project": { "operations": [ { "method": "GET", "description": "Search projects. Results are paginated", "parameters": [ { "name": "id", "type": "string", "description": "Find project with this id. Exact match", "required": false }, { "name": "ids", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "organization", "type": "string", "description": "Filter to resolvers belongs to the organization with this key", "required": false }, { "name": "name", "type": "string", "description": "Find project with this name. Case in-sensitive. Exact match", "required": false }, { "name": "group_id", "type": "string", "description": "Find projects that are dependent on a library with this group ID. Exact match", "required": false }, { "name": "artifact_id", "type": "string", "description": "Find projects that are dependent on a library with this artifact ID. Exact match", "required": false }, { "name": "version", "type": "string", "description": "Find projects that are dependent on a library with this version number. Exact match", "required": false }, { "name": "library_id", "type": "string", "description": "Find projects that are dependent on a library", "required": false }, { "name": "binary", "type": "string", "description": "Find projects that are dependent on this binary. Case in-sensitive. Exact match", "required": false }, { "name": "binary_id", "type": "string", "description": "Find projects that are dependent on a binary", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[project]" }, "401": { "type": "unit" } } }, { "method": "GET", "description": "Returns information about the project with this id.", "path": "/:id", "responses": { "200": { "type": "project" }, "401": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "description": "Create a new project.", "body": { "type": "project_form" }, "responses": { "201": { "type": "project" }, "401": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "PUT", "path": "/:id", "description": "Update an existing project.", "body": { "type": "project_form" }, "responses": { "200": { "type": "project", "description": "Project successfully updated" }, "401": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "PATCH", "path": "/:id", "description": "Patch an existing project", "body": { "type": "project_patch_form" }, "responses": { "200": { "type": "project", "description": "Project successfully updated" }, "401": { "type": "unit" }, "404": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "DELETE", "path": "/:id", "responses": { "204": { "type": "unit" }, "401": { "type": "unit" }, "404": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } } ] }, "project_library": { "operations": [ { "method": "GET", "description": "Search project libraries. Results are paginated", "parameters": [ { "name": "id", "type": "string", "description": "Find project library with this id. Exact match", "required": false }, { "name": "ids", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "project_id", "type": "string", "description": "filter by this project", "required": false }, { "name": "library_id", "type": "string", "description": "filter by this library", "required": false }, { "name": "is_synced", "type": "boolean", "description": "If true, filter by project libraries that have been synced. False to filter by project libraries that have not yet been synced. Main purpose of this filter is to see what libraries we are still evaluating after a project is added for the first time.", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[project_library]" }, "401": { "type": "unit" } } } ] }, "project_binary": { "operations": [ { "method": "GET", "description": "Search project binaries. Results are paginated", "parameters": [ { "name": "id", "type": "string", "description": "Find project binary with this id. Exact match", "required": false }, { "name": "ids", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "project_id", "type": "string", "description": "filter by this project", "required": false }, { "name": "binary_id", "type": "string", "description": "filter by this binary", "required": false }, { "name": "is_synced", "type": "boolean", "description": "If true, filter by project binaries that have been synced. False to filter by project binaries that have not yet been synced. Main purpose of this filter is to see what binaries we are still evaluating after a project is added for the first time.", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[project_binary]" }, "401": { "type": "unit" } } } ] }, "organization": { "operations": [ { "method": "GET", "description": "Search organizations. Results are paginated", "parameters": [ { "name": "id", "type": "string", "description": "Find organization with this id. Exact match", "required": false }, { "name": "ids", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "user_id", "type": "string", "description": "Find organizations that this user has access to", "required": false }, { "name": "key", "type": "string", "description": "Find organization with this key. Case in-sensitive. Exact match", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[organization]" }, "401": { "type": "unit" } } }, { "method": "GET", "description": "Returns the organization representing the individual user.", "path": "/users/:user_id", "parameters": [ { "name": "user_id", "type": "string", "description": "Find organization representing this user" } ], "responses": { "200": { "type": "organization" }, "401": { "type": "unit" }, "404": { "type": "unit", "description": "Returns if the user id does not exist" } } }, { "method": "GET", "description": "Returns information about the organization with this id.", "path": "/:id", "responses": { "200": { "type": "organization" }, "401": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "description": "Create a new organization.", "body": { "type": "organization_form" }, "responses": { "201": { "type": "organization" }, "401": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "PUT", "path": "/:id", "description": "Update an existing organization.", "body": { "type": "organization_form" }, "responses": { "200": { "type": "organization", "description": "Organization successfully updated" }, "401": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "DELETE", "path": "/:id", "responses": { "204": { "type": "unit" }, "401": { "type": "unit" }, "404": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } } ] }, "membership": { "operations": [ { "method": "GET", "description": "Search all memberships. Results are always paginated.", "parameters": [ { "name": "id", "type": "string", "description": "Find organization with this id. Exact match", "required": false }, { "name": "ids", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "organization", "type": "string", "required": false, "description": "Filter to organization with this key. Case insensitive" }, { "name": "user_id", "type": "string", "required": false }, { "name": "role", "type": "role", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[membership]" }, "401": { "type": "unit" } } }, { "method": "GET", "path": "/:id", "responses": { "200": { "type": "membership" }, "401": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "body": { "type": "membership_form" }, "responses": { "201": { "type": "membership" }, "401": { "type": "unit" }, "404": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "DELETE", "path": "/:id", "responses": { "204": { "type": "unit" }, "401": { "type": "unit" }, "404": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } } ] }, "resolver": { "operations": [ { "method": "GET", "description": "Search resolvers. Results are paginated", "parameters": [ { "name": "id", "type": "string", "description": "Find resolver with this id. Exact match", "required": false }, { "name": "ids", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "organization", "type": "string", "description": "Filter to resolvers belongs to the organization with this key", "required": false }, { "name": "visibility", "type": "visibility", "description": "Filter based on visibility", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[resolver]" }, "401": { "type": "unit" } } }, { "method": "GET", "description": "Returns information about the resolver with this id.", "path": "/:id", "responses": { "200": { "type": "resolver" }, "401": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "description": "Create a new resolver.", "body": { "type": "resolver_form" }, "responses": { "201": { "type": "resolver" }, "401": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "DELETE", "path": "/:id", "responses": { "204": { "type": "unit" }, "401": { "type": "unit" }, "404": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } } ] }, "library": { "operations": [ { "method": "GET", "description": "Search libraries. Results are paginated", "parameters": [ { "name": "id", "type": "string", "description": "Find library with this id. Exact match", "required": false }, { "name": "ids", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "project_id", "type": "string", "description": "Find binaries associated with this project", "required": false }, { "name": "group_id", "type": "string", "description": "Find library with this group_id. Case sensitive. Exact match", "required": false }, { "name": "artifact_id", "type": "string", "description": "Find library with this artifact_id. Case sensitive. Exact match", "required": false }, { "name": "resolver_id", "type": "string", "description": "Find libraries resolved with this resolver", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[library]" }, "401": { "type": "unit" } } }, { "method": "GET", "description": "Returns information about the library with this id.", "path": "/:id", "responses": { "200": { "type": "library" }, "401": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "description": "Create a new library.", "body": { "type": "library_form" }, "responses": { "201": { "type": "library" }, "401": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "DELETE", "path": "/:id", "responses": { "204": { "type": "unit" }, "401": { "type": "unit" }, "404": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } } ] }, "library_version": { "operations": [ { "method": "GET", "description": "Search library versions. Results are paginated", "parameters": [ { "name": "id", "type": "string", "description": "Find library version with this id. Exact match", "required": false }, { "name": "ids", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "library_id", "type": "string", "description": "Find binaries associated with this binary", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[library_version]" }, "401": { "type": "unit" } } }, { "method": "GET", "description": "Returns information about the library version with this id.", "path": "/:id", "responses": { "200": { "type": "library_version" }, "401": { "type": "unit" }, "404": { "type": "unit" } } } ] }, "binary": { "operations": [ { "method": "GET", "description": "Search binaries. Results are paginated", "parameters": [ { "name": "id", "type": "string", "description": "Find binary with this id. Exact match", "required": false }, { "name": "ids", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "project_id", "type": "string", "description": "Find binaries associated with this project", "required": false }, { "name": "name", "type": "string", "description": "Find project with this name. Case in-sensitive. Exact match", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[binary]" }, "401": { "type": "unit" } } }, { "method": "GET", "description": "Returns information about the binary with this id.", "path": "/:id", "responses": { "200": { "type": "binary" }, "401": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "description": "Create a new binary.", "body": { "type": "binary_form" }, "responses": { "201": { "type": "binary" }, "401": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "DELETE", "path": "/:id", "responses": { "204": { "type": "unit" }, "401": { "type": "unit" }, "404": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } } ] }, "binary_version": { "operations": [ { "method": "GET", "description": "Search binary versions. Results are paginated", "parameters": [ { "name": "id", "type": "string", "description": "Find binary version with this id. Exact match", "required": false }, { "name": "ids", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "binary_id", "type": "string", "description": "Find binaries associated with this binary", "required": false }, { "name": "project_id", "type": "string", "description": "Find binaries associated with this project", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[binary_version]" }, "401": { "type": "unit" } } }, { "method": "GET", "description": "Returns information about the binary version with this id.", "path": "/:id", "responses": { "200": { "type": "binary_version" }, "401": { "type": "unit" }, "404": { "type": "unit" } } } ] }, "repository": { "operations": [ { "method": "GET", "path": "/github", "description": "Returns a list of repositories from github", "parameters": [ { "name": "owner", "type": "string", "required": false, "description": "Optionally filter by owner name. Case in-sensitive. Exact match" }, { "name": "name", "type": "string", "required": false, "description": "Optionally filter by repo name. Case in-sensitive. Exact match" }, { "name": "organization_id", "type": "string", "required": false, "description": "If specified, we enable additional filtering by this organization (see existing_project parameter)." }, { "name": "existing_project", "type": "boolean", "required": false, "description": "Optionally filter by repositories that are either already mapped to existing projects or not. Requires organization_id parameter to also be specified." }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[io.flow.github.v0.models.repository]" }, "401": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } } ] }, "subscription": { "operations": [ { "method": "GET", "description": "Search subscriptions. Always paginated.", "parameters": [ { "name": "id", "type": "string", "description": "Find the subscription with this id.", "required": false }, { "name": "ids", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "user_id", "type": "string", "description": "Find subscriptions for this user.", "required": false }, { "name": "identifier", "type": "string", "description": "Find subscriptions associated with this user identifier. Exact match", "required": false }, { "name": "publication", "type": "publication", "description": "Find subscriptions for this publication.", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[subscription]" }, "401": { "type": "unit" } } }, { "method": "GET", "description": "Returns information about a specific subscription.", "path": "/:id", "responses": { "200": { "type": "subscription" }, "401": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "description": "Create a new subscription.", "parameters": [ { "name": "identifier", "type": "string", "description": "If a user identifier is provided, authentication is bypassed", "required": false } ], "body": { "type": "subscription_form" }, "responses": { "201": { "type": "subscription" }, "401": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "DELETE", "path": "/:id", "parameters": [ { "name": "identifier", "type": "string", "description": "If a user identifier is provided, authentication is bypassed", "required": false } ], "responses": { "204": { "type": "unit" }, "401": { "type": "unit" }, "404": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } } ] }, "recommendation": { "operations": [ { "method": "GET", "description": "Returns a list of recommendations for this user", "parameters": [ { "name": "organization", "type": "string", "required": false, "description": "Optionally filter to recommendations for this organization" }, { "name": "project_id", "type": "string", "required": false, "description": "Optionally filter by project" }, { "name": "type", "type": "recommendation_type", "required": false, "description": "Optionally filter by type of recommendation." }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[recommendation]" }, "401": { "type": "unit" } } } ] }, "item": { "operations": [ { "method": "GET", "description": "Returns a list of all matching items", "parameters": [ { "name": "q", "type": "string", "required": false, "description": "Actual search query" }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[item]" }, "401": { "type": "unit" } } } ] }, "sync": { "operations": [ { "method": "GET", "parameters": [ { "name": "object_id", "type": "string", "required": false }, { "name": "event", "type": "sync_event", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[sync]" }, "401": { "type": "unit" } } }, { "method": "POST", "path": "/:organization/libraries", "description": "Synchronize libraries for resolvers associated with this organization", "responses": { "204": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "path": "/binaries/:id", "responses": { "204": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "description": "Will sync all libraries where the artifact id starts with the specified artifact_id_refix*", "path": "/libraries/prefix/:artifact_id_prefix", "responses": { "204": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "path": "/libraries/:id", "responses": { "204": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "path": "/projects/:id", "responses": { "204": { "type": "unit" }, "404": { "type": "unit" } } } ] }, "token": { "operations": [ { "method": "GET", "parameters": [ { "name": "id", "type": "[string]", "description": "Filter by any one of these ids", "required": false }, { "name": "user_id", "type": "string", "description": "Find tokens for this user.", "required": false }, { "name": "limit", "type": "long", "default": 25, "description": "The number of records to return", "minimum": 0, "maximum": 100 }, { "name": "offset", "type": "long", "default": 0, "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[token]" }, "401": { "type": "unit" } } }, { "method": "GET", "description": "Used to fetch one token", "path": "/:id", "responses": { "200": { "type": "token" }, "401": { "type": "unit" }, "404": { "type": "unit" } } }, { "method": "POST", "description": "Create a new API token for this user", "body": { "type": "token_form" }, "responses": { "201": { "type": "token" }, "401": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } }, { "method": "DELETE", "path": "/:id", "responses": { "204": { "type": "unit" }, "401": { "type": "unit" }, "404": { "type": "unit" }, "422": { "type": "io.flow.error.v0.models.generic_error" } } } ] }, "github_webhook": { "path": "/webhooks/github", "description": "The target of the github webooks", "operations": [ { "method": "POST", "path": "/:project_id", "description": "Receives a webhook on push for this particular project" } ] }, "project_dependency_resolution": { "path": "/:organization/project/dependencies/group/:group_id", "operations": [ { "method": "GET", "responses": { "200": { "type": "project_dependency_resolution" }, "401": { "type": "unit" }, "404": { "type": "unit" } } } ] } } }