The Gemfury API enables developers to interact programmatically with their Gemfury accounts.
Through the API, you can manage packages, versions, and collaborators. This guide offers a
comprehensive overview of the available endpoints and their usage.
Before you get started, be sure you have an active Gemfury account.
Gemfury API is a REST API over HTTPS primarily using JSON for payload encoding. Every
request includes a method, a path, and some headers. Operations are carried out via
GET, POST, PATCH, PUT, and DELETE methods. Parameters to the API are
specified via the URL query parameters or sometimes the JSON payload, based on
the functionality of a specific endpoint.
Base URL
All API requests are made to the following base URL:
API requests can result in one of various success or error responses.
Typically, responses are JSON objects or arrays, unless specified
otherwise in this documentation
HTTP Status
Description
200
Success with response body
201
Successful object creation
204
Successful operation with no body
400
Bad request, usually input error
401
Request requires authentication
403
Insufficient permissions for request
404
Referenced object is not found
500
Internal service error
503
Internal platform error
Error responses
Error responses have a non-2xx status code and a JSON body
containing an error key.
When a response from the API yields many results, Gemfury will paginate by
returning a subset of the results along with metadata linking to the
subsequent or previous subsets. Paginating reduces the payload, and
thus the processing load on both the servers and clients.
Understanding link header
Pagination metadata is encoded in the response using the link header
as described in RFC 8288. The presence of this header indicates
that the returned results are a subset of all results and that
additional pages are available.
privateboolean
Has the value true if package is private, false if public
version_countinteger
The number of versions for this package
release_versionnullable object
Limited version object for latest releasable version of this package.
null if the package has no release-level versions. The object is limited to id,
version, and prerelease keys.
An account may have several collaborators who can perform
a limited set operations on that account based on their
associated role.
Member object attributes
rolestring
Permission level for this member: pull, push, or owner.
… Account attributes
The remaining attributes match Account object attributes.
Note that certain attributes may return nil if you lack
permissions to see their actual values.
List collaborations
Retrieve all accounts where the context user is a collaborator.