Inventory
          The Inventory is responsible for storing, serving and grouping Escape releases and metadata.
The EscapeKit Inventory is very similar to the Open Source Inventory and can act as a drop-in replacement. The main difference between the proprietary  and open source version of the Inventory is that the proprietary version  comes with authentication and Role Based Access Control.
          
Endpoints
          
          
              
               Applications
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/
                      List the units in a namespace
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/
                      Get a unit and its versions.
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/tags/
                      Tag a release
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/versions/
                      Get all the unit's known versions
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
              
               Hooks
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/hooks/
                      Get the hooks configured on a namespace. DEPRECATED?
                     
                   
                   
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/hooks/
                      Update the hooks configured on a namespace. DEPRECATED?
                     
                   
                   
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/hooks/
                      Admin endpoint to get hooks for a namespace unit. DEPRECATED?
                     
                   
                   
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/hooks/
                      Admin endpoint to update hooks on a namespace unit. DEPRECATED?
                     
                   
                   
                  
              
               Internal
                
                  
                  
  
    This is a public endpoint
    
 
  
  
    
      
        | Status | Response Type | Description | 
      
      
        
          | 200 | 
             | 
          The version of the EscapeKit Inventory  | 
        
      
    
   
 
                    
                  
                
                  
                    
                    
                      /api/v1/internal/add-namespace
                      Add a namespace.
                     
                   
                  
  
    User has to be logged in.
    
 
                    
                  
                
                  
                    
                    
                      /api/v1/internal/get_namespaces_for_project
                      Filter /api/v1/inventory/ for the given project namespaces.
                     
                   
                  
  
    This is a public endpoint
    
 
                    
                  
                
                  
                    
                    
                      /health
                      Healthcheck endpoint
                     
                   
                  
  
    This is a public endpoint
    
 
  
  
    
      
        | Status | Response Type | Description | 
      
      
        
          | 200 | 
             | 
          The version of the EscapeKit Inventory  | 
        
      
    
   
 
                    
                  
              
               Namespaces
                
                  
                    
                    
                      /api/v1/inventory/
                      List all Namespaces accessible to the user.
                     
                   
                  
  
    Unknown ACL: PublicButRBACInternally
    
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/__providers
                      Search for providers
                     
                   
                  
  
    Unknown ACL: PublicButRBACInternally
    
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/search
                      Search for releases
                     
                   
                  
  
    Unknown ACL: PublicButRBACInternally
    
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/
                      Get a Namespace and its units.
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/
                      Update Namespace metadata
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:owner
     
 
  
  
    
      
        | Status | Response Type | Description | 
      
      
        
          | 201 | 
             | 
          Successfully updated the Namespace metadata.  | 
        
      
    
   
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/hard-delete
                      Admin endpoint to delete a namespace and everything related to it (except the on-disk packages in storage)
                     
                   
                   
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/register
                      Register a new release
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
              
               Releases
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/next-version
                      Get the next version for a given prefix.
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/versions/{version}/
                      Get a release version
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/versions/{version}/dependency-graph
                      Get a release's dependency graph
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/versions/{version}/diff/
                      List differences between given version and the release before it.
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/versions/{version}/diff/{diffWith}/
                      List differences between two given versions.
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/versions/{version}/download
                      Download release package data
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/versions/{version}/downstream
                      List downstream releases.
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/versions/{version}/previous/
                      Get previous version
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:read
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
                
                  
                    
                    
                      /api/v1/inventory/{namespace}/units/{name}/versions/{version}/upload
                      Upload release package data
                     
                   
                  
  
    
      User should have one of the following roles:
        project:{{project}}:global:write
        project:{{project}}:global:owner
     
 
                    
                  
            
          Schemas
          
            
             AddNamespace
            
            
            
              
                
                  
                    
                      | Field | 
                      Type | 
                      Description | 
                      Example | 
                     | 
                  
                  
                    
                      | description | 
                      
 string 
 | 
                      An optional description for the namespace. | 
                      
                        
                       | 
                    
                    
                      | logo | 
                      
 string 
 | 
                      An optional logo (image data) | 
                      
                        
                       | 
                    
                    
                      | name | 
                      
 string 
 | 
                      The namespace itself. | 
                      
                        
                       | 
                    
                    
                      | org_url | 
                      
 string 
 | 
                      An optional URL to associate with this namespace. | 
                      
                        
                       | 
                    
                    
                      | project | 
                      
 string 
 | 
                      The State Project this Namespace belongs to. | 
                      
                        
                       | 
                    
                  
                
               
             
            
             Application
            
            
            
              
                
                  
                    
                      | Field | 
                      Type | 
                      Description | 
                      Example | 
                     | 
                  
                  
                    
                      | description | 
                      
 string 
 | 
                      An optional description for the Application. This field is
automatically set based on the last released version and 
can be defined in the 'description' field of the Escape plan.
 | 
                      
                        my-project
                       | 
                    
                    
                      | latest_version | 
                      
 string 
 | 
                      The latest version. The highest version number for all the releases
for this Application
 | 
                      
                        
                       | 
                    
                    
                      | logo | 
                      
 string 
 | 
                      An optional logo (image data) | 
                      
                        
                       | 
                    
                    
                      | name | 
                      
 string 
 | 
                      The application name | 
                      
                        hello-world
                       | 
                    
                    
                      | project | 
                      
 string 
 | 
                      The Namespace name (deprecated) | 
                      
                        my-project
                       | 
                    
                    
                      | uploaded_at | 
                      
 string 
 | 
                      The time of the last uploaded release. | 
                      
                        
                       | 
                    
                    
                      | uploaded_by | 
                      
 string 
 | 
                      The username of the User that uploaded the last release. | 
                      
                        
                       | 
                    
                  
                
               
             
            
             Dummy
            
            
            
             Namespace
            
              
                Description:
              
              
                A Namespace provides a grouping for Applications.
              
             
            
            
              
                
                  
                    
                      | Field | 
                      Type | 
                      Description | 
                      Example | 
                     | 
                  
                  
                    
                      | description | 
                      
 string 
 | 
                      An optional description for the namespace. | 
                      
                        
                       | 
                    
                    
                      | logo | 
                      
 string 
 | 
                      An optional logo (image data) | 
                      
                        
                       | 
                    
                    
                      | name | 
                      
 string 
 | 
                      The namespace itself. | 
                      
                        
                       | 
                    
                    
                      | org_url | 
                      
 string 
 | 
                      An optional URL to associate with this namespace. | 
                      
                        
                       | 
                    
                    
                      | permission | 
                      
 enum 
 | 
                      Permission (deprecated). Read only. Describes global permissions for this user on this namespace. | 
                      
                           "read" 
                          "write" 
                          "owner" 
                          "admin" 
                       | 
                    
                  
                
               
             
            
             NamespacePayload
            
              
                Description:
              
              
                A payload for the Namespace and its Applications.
              
             
            
            
            
             NamespacesPayload
            
              
                Description:
              
              
                Namespaces map keyed by name.
              
             
            
            
             ReleaseMetadata
            
              
                Description:
              
              
                The result of a successful Escape release.
              
             
            
            
              
                
                  
                    
                      | Field | 
                      Type | 
                      Description | 
                      Example | 
                     | 
                  
                  
                    
                      | api_version | 
                      
 string 
 | 
                      The Release Metadata API version. | 
                      
                        
                       | 
                    
                    
                      | branch | 
                      
 string 
 | 
                      Optional repository branch this release was built from. | 
                      
                        
                       | 
                    
                    
                      | built_with_core_version | 
                      
 string 
 | 
                      What version of escape-core was used to build this release? | 
                      
                        
                       | 
                    
                    
                      | built_with_escape_version | 
                      
 string 
 | 
                      What version of escape was used to build this release? | 
                      
                        
                       | 
                    
                    
                      | description | 
                      
 string 
 | 
                      An optional description. | 
                      
                        
                       | 
                    
                    
                      | files | 
                      
{ string : 
string 
}
 | 
                      A map of files and their checksum. | 
                      
                        
                       | 
                    
                    
                      | gt_revision | 
                      
 string 
 | 
                      Optional repository revision ID this release was built from. | 
                      
                        
                       | 
                    
                    
                      | license | 
                      
 string 
 | 
                      An optional license. | 
                      
                        
                       | 
                    
                    
                      | logo | 
                      
 string 
 | 
                      Optional image data. | 
                      
                        
                       | 
                    
                    
                      | metadata | 
                      
{ string : 
string 
}
 | 
                      A map of key:value pairs | 
                      
                        
                       | 
                    
                    
                      | name | 
                      
 string 
 | 
                      The Application name. | 
                      
                        
                       | 
                    
                    
                      | project | 
                      
 string 
 | 
                      Deprecated. The Namespace this release is grouped under. | 
                      
                        
                       | 
                    
                    
                      | repository | 
                      
 string 
 | 
                      Optional repository this release was built from. | 
                      
                        
                       | 
                    
                    
                      | revision_author | 
                      
 string 
 | 
                      Optional repository revision author this release was built from. | 
                      
                        
                       | 
                    
                    
                      | revision_message | 
                      
 string 
 | 
                      Optional repository revision message this release was built from. | 
                      
                        
                       | 
                    
                    
                      | version | 
                      
 string 
 | 
                      The Release version. | 
                      
                        
                       | 
                    
                  
                
               
             
            
             ReleaseTagRequest
            
              
                Description:
              
              
                Request used to tag a release.
              
             
            
            
              
                
                  
                    
                      | Field | 
                      Type | 
                      Description | 
                      Example | 
                     | 
                  
                  
                    
                      | release_id | 
                      
 string 
 | 
                      The Release ID to which to apply the tag. | 
                      
                        my-project/hello-world-v1.0
                       | 
                    
                    
                      | tag | 
                      
 string 
 | 
                      The tag to be applied to the release. | 
                      
                        
                       |