Package com.xebialabs.xlrelease.api.v1

# Interface ApplicationApi

All Superinterfaces:
  `ApiService`

@Path("/api/v1/applications") @Consumes("application/json") @Produces("application/json") public interface ApplicationApi extends ApiService

- ## Field Summary

  ### Fields inherited from interface com.xebialabs.xlrelease.api.ApiService

  `DEFAULT_RESULTS_PER_PAGE, DEFAULT_RESULTS_PER_PAGE_STRING, DEPTH, ORDER_BY, PAGE, PAGE_IS_OFFSET, RESULTS_PER_PAGE, ROLE_IDS_DATA`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Application`
  `create(Application application)`
  Creates a new application.
  `ApplicationView`
  `createApplication(ApplicationForm applicationForm)`
  `void`
  `deleteApplication(String applicationId)`
  Deletes an application.
  `ApplicationView`
  `getApplication(String applicationId)`
  `Application`
  `getById(String applicationId)`
  Gets an application by id.
  `List<Application>`
  `search(ApplicationFilters filters)`
  Searches applications by filters.
  `List<ApplicationView>`
  `searchApplications(ApplicationFilters applicationFilters)`
  `default String`
  `serviceName()`
  `Application`
  `update(Application application)`
  Updates an existing application.
  `ApplicationView`
  `updateApplication(String applicationId, ApplicationForm applicationForm)`

- ## Method Details

  - ### serviceName

    default String serviceName()
    Specified by:
      `serviceName` in interface `ApiService`

  - ### createApplication

    @POST ApplicationView createApplication(ApplicationForm applicationForm)

  - ### getApplication

    @GET @Path("/{applicationId:.*/Application[^/]*}") ApplicationView getApplication(@PathParam("applicationId") String applicationId)

  - ### updateApplication

    @PUT @Path("/{applicationId:.*/Application[^/]*}") ApplicationView updateApplication(@PathParam("applicationId") String applicationId, ApplicationForm applicationForm)

  - ### searchApplications

    @POST @Path("/search") List<ApplicationView> searchApplications(ApplicationFilters applicationFilters)

  - ### deleteApplication

    @DELETE @Path("/{applicationId:.*/Application[^/]*}") void deleteApplication(@PathParam("applicationId") String applicationId)
    Deletes an application.
    Parameters:
      `applicationId` - the application identifier

  - ### create

    Application create(Application application)
    Creates a new application.
    Parameters:
      `application` - an `Application` object describing the new application
    Returns:
      created `Application` object

  - ### getById

    Application getById(String applicationId)
    Gets an application by id.
    Parameters:
      `applicationId` - the application identifier
    Returns:
      found `Application` object

  - ### update

    Application update(Application application)
    Updates an existing application.
    Parameters:
      `application` - an `Application` object describing the new properties of the application
    Returns:
      updated `Application` object

  - ### search

    List<Application> search(ApplicationFilters filters)
    Searches applications by filters.
    Parameters:
      `filters` - an `ApplicationFilters` object describing the search criteria
    Returns:
      list of matching `Application`s