### Retrieve Individual Project Example Source: https://developer.axosoft.com/protected-resources.html Example of a GET request to retrieve a specific project by its ID. The access token can be appended as a query parameter. ```http https://youraccount.axosoft.com/api/v5/projects/3?access_token=10101010-1010-1010-1010-101010101010 ``` -------------------------------- ### Axosoft Tag Formatting Examples Source: https://developer.axosoft.com/scm-integration.html Examples of valid Axosoft tags used to link commits to specific items like defects, features, tasks, and incidents. These tags can optionally include work log entries. ```text [axod: 45] ``` ```text [axof: 2] ``` ```text [axof: 823 wl: 5 hours] ``` ```text [axot: 92 wl: 8.3 hrs] ``` ```text [axoi: srx0091] ``` -------------------------------- ### Accessing Individual Project Data Source: https://developer.axosoft.com/protected-resources.html Demonstrates how to retrieve a specific project's data by making a GET request to the API endpoint. Includes an example of the request URL with an access token and the expected JSON response. ```APIDOC ## GET /api/v5/projects/{id} ### Description Retrieves the details of a specific project identified by its ID. ### Method GET ### Endpoint `/api/v5/projects/{id}` ### Parameters #### Query Parameters - **access_token** (string) - Required - The access token for authentication. ### Request Example ``` https://youraccount.axosoft.com/api/v5/projects/3?access_token=10101010-1010-1010-1010-101010101010 ``` ### Response #### Success Response (200) - **data** (object) - Contains the project details. - **description** (string) - The description of the project. - **start_date** (string) - The start date of the project. - **is_active** (boolean) - Indicates if the project is active. - **parent** (object) - Information about the parent project. - **id** (integer) - The ID of the parent project. - **name** (string) - The name of the parent project. - **id** (integer) - The ID of the project. - **name** (string) - The name of the project. #### Response Example ```json { "data": { "description": "", "start_date": "2012-09-27T16:49:16Z", "is_active": true, "parent": { "id": 0, "name": "All Projects" }, "id": 3, "name": "Corporate Web Site" } } ``` ``` -------------------------------- ### Example Commit Data Structure for Axosoft Integration Source: https://developer.axosoft.com/scm-integration.html This JSON structure demonstrates how to format commit data, including user information, for posting to the Axosoft API. It shows nested objects for user details and an example of commit text. ```json { "text": "bob did things [axod: 74], "meta": { "user": { "display_name": "Greg Greggerson", "domain_id": "//GREGSDONUTSHOP/GREGGREG", "website": { "url": "http://greg.gregsdonutshop.biz/greg" } } } } ``` -------------------------------- ### Get Picklist Items Source: https://developer.axosoft.com/api/picklists.html Retrieves a list of items for a specified picklist type. ```APIDOC ## GET /picklists/{picklist_type} ### Description Retrieves the picklist items for a given type. ### Method GET ### Endpoint /picklists/{picklist_type} ### Parameters #### Path Parameters - **picklist_type** (string) - Required - The TYPE of picklist (one of the following: priority, status, severity, category, time_units, work_log_types, item_relations, release_types, release_status, escalation, custom) ### Response #### Success Response (200) - **[Array of picklist items]** - Description of the response body structure is not provided in the source. ``` -------------------------------- ### Get Release Capacity Details Source: https://developer.axosoft.com/api/releases.html Retrieves the capacity details for a specific release. ```APIDOC ## GET /releases/{id}/capacity_details ### Description Retrieves the capacity details for a specific release. ### Method GET ### Endpoint /releases/{id}/capacity_details ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the release to get. ### Response #### Success Response (200) - **capacity** (integer) - The work capacity in hours of this release. ### Response Example { "example": "{\"capacity\": 40}" } ``` -------------------------------- ### Get System Options Source: https://developer.axosoft.com/api/settings.html Retrieves system options related to item types, including their enabled status and configured labels. ```APIDOC ## GET /settings/system_options ### Description Returns system options related to item types (describing whether they are enabled and giving their configured labels). ### Method GET ### Endpoint /settings/system_options ### Parameters ### Request Body ### Response #### Success Response (200) - **item_type** (string) - The name of the item type. - **enabled** (boolean) - Indicates if the item type is enabled. - **label** (string) - The configured label for the item type. ``` -------------------------------- ### Successful Authorization Code Redirect Source: https://developer.axosoft.com/authentication/authorization-code.html Example of a redirect URL after a user approves access, including the authorization code. ```url https://myaxosoftapp.com/receive_authorization_code?code=12345678-1234-1234-1234-123456789012 ``` -------------------------------- ### Get Defect Workflow Steps Source: https://developer.axosoft.com/api/defects.html Retrieves a list of available workflow steps for a specific defect. ```APIDOC ## GET /defects/{id}/workflow_steps ### Description Retrieves a list of available workflow steps for an item. ### Method GET ### Endpoint /defects/{id}/workflow_steps ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the item. ``` -------------------------------- ### Get Task Workflow Steps Source: https://developer.axosoft.com/api/tasks.html Retrieves a list of available workflow steps for a specific task. ```APIDOC ## GET /tasks/{id}/workflow_steps ### Description Retrieves a list of available workflow steps for an item. ### Method GET ### Endpoint /tasks/{id}/workflow_steps ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the item. ``` -------------------------------- ### Get Default Customer Values Source: https://developer.axosoft.com/api/customers.html Retrieves the default values used when creating a new customer. ```APIDOC ## get /customers/init ### Description Gets the default values for a new customer. ### Method GET ### Endpoint /customers/init ### Response #### Success Response (200) - **default_values** (object) - An object containing default values for a new customer. ``` -------------------------------- ### Get Project by ID Source: https://developer.axosoft.com/api/projects.html Retrieves a single project by its ID. Similar to listing all projects, the `extend` parameter can be used to fetch additional details about the project's settings. ```APIDOC ## GET /projects/{id} ### Description Retrieves one project by its ID. To get additional details about the projects settings, use the extend parameter. ### Method GET ### Endpoint /projects/{id} ### Parameters #### Path Parameters - **{id}** (integer) - Required - The ID of the project. #### Query Parameters - **extend** (string or string array) - Optional - An optional parameter to specify which additional details are requested. Options include 'field_templates', 'workflows', 'escalations', 'customer_portal', 'custom_fields', or 'all'. Multiple options can be sent in a string array or a comma-separated string. ### Response #### Success Response (200) - **field_templates** (object) - Information about field templates set for the project. - **workflows** (object) - Information about workflows set for the project. - **escalations** (object) - Information about escalation paths for the project. - **customer_portal** (object) - Field templates for each customer portal action type. - **custom_fields** (object) - Values for each custom field set for this project. ``` -------------------------------- ### Get Feature Workflow Steps Source: https://developer.axosoft.com/api/features.html Retrieves a list of available workflow steps for a specific feature item. ```APIDOC ## GET /features/{id}/workflow_steps ### Description Retrieves a list of available workflow steps for an item. ### Method GET ### Endpoint /features/{id}/workflow_steps ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the item. ``` -------------------------------- ### Get Incident Workflow Steps Source: https://developer.axosoft.com/api/incidents.html Retrieves a list of available workflow steps for a specific incident. ```APIDOC ## GET /incidents/{id}/workflow_steps ### Description Retrieves a list of available workflow steps for an item. ### Method GET ### Endpoint /incidents/{id}/workflow_steps ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the item. ``` -------------------------------- ### Username/Password Authentication Source: https://developer.axosoft.com/authentication/username-password.html This snippet demonstrates how to obtain an Access Token using the Username/Password grant type by making a GET request to the Axosoft token endpoint. ```APIDOC ## GET /api/oauth2/token ### Description Obtain an Access Token using the Username/Password grant type. This method is only allowed for private client applications. ### Method GET ### Endpoint `/api/oauth2/token` ### Parameters #### Query Parameters - **grant_type** (string) - Required - The type of grant. Must be `password` for this flow. - **username** (string) - Required - The Axosoft Suite Login ID of the user. - **password** (string) - Required - The Axosoft Suite Password of the user. - **client_id** (string) - Required - The Client ID issued to you through the Axosoft Suite. - **client_secret** (string) - Required - The Client Secret issued to you through the Axosoft Suite. - **scope** (string) - Optional - A space-separated list of scopes. Valid scopes are `read` and `write`. Defaults to `read` if omitted. ### Response #### Success Response (200) - **access_token** (string) - The Access Token for accessing protected resources. - **token_type** (string) - The type of the Access Token, typically "bearer". - **data** (object) - Contains user information such as `id`, `first_name`, `last_name`, and `email`. ### Request Example ``` GET /api/oauth2/token?grant_type=password&username=user@example.com&password=password123&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&scope=read write ``` ### Response Example (Success) ```json { "access_token" : "10101010-1010-1010-1010-101010101010", "token_type" : "bearer", "data" : { "id" : 7, "first_name" : "Cathy", "last_name" : "O'Reilly (Dev)", "email" : "Cathy.Oreilly@mycompany.com" } } ``` ### Response Example (Error) ```json { "error" : "invalid_grant", "error_description" : "Invalid username or password" } ``` ``` -------------------------------- ### Successful Username/Password Token Response Source: https://developer.axosoft.com/authentication/username-password.html This is an example of a successful response when obtaining an Access Token using the username/password grant type. The response includes the access token, token type, and user data. ```json { "access_token" : "10101010-1010-1010-1010-101010101010", "token_type" : "bearer", "data" : { "id" : 7, "first_name" : "Cathy", "last_name" : "O'Reilly (Dev)", "email" : "Cathy.Oreilly@mycompany.com" } } ``` -------------------------------- ### Get Project Security Permissions Source: https://developer.axosoft.com/api/security.html Retrieves the security permissions for a specific project based on its ID. ```APIDOC ## GET /security/permissions/project/{id} ### Description Retrieves security permissions for a specified project. ### Method GET ### Endpoint /security/permissions/project/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the project. ### Request Example None ### Response #### Success Response (200) - **permissions** (array) - A list of security permissions for the project. #### Response Example { "permissions": [ "admin", "member" ] } ``` -------------------------------- ### Get Release by ID Source: https://developer.axosoft.com/api/releases.html Retrieves a specific release by its ID. Supports extending the response with additional details. ```APIDOC ## GET /releases/{id} ### Description Retrieves one release by its ID. To get additional details about the release, use the extend parameter. ### Method GET ### Endpoint /releases/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the release. #### Query Parameters - **extend** (string or array) - Optional - An optional parameter to specify which additional details are requested. Options include 'completion_stats', 'estimates', or 'all'. Can be a string array or comma-separated string. ### Response #### Success Response (200) - **id** (integer) - The ID of the release. - **name** (string) - The name of the release. - **completion_stats** (object) - Information about the expected completion date of the release (if extended). - **estimates** (object) - Information about the estimates and work done for a release (if extended). ### Response Example { "example": "{\"id\": 1, \"name\": \"Release 1.0\", \"completion_stats\": {\"percentage_complete\": 50}, \"estimates\": {\"total_estimates\": 100, \"total_work_done\": 50}}" } ``` -------------------------------- ### Error Authorization Code Redirect Source: https://developer.axosoft.com/authentication/authorization-code.html Example of a redirect URL after a user denies access or an error occurs, including error details. ```url https://myaxosoftapp.com/receive_authorization_code?error=access_denied &error_description=User%20refused%20access ``` -------------------------------- ### Create Project Source: https://developer.axosoft.com/api/projects.html Creates a new project with specified details and configurations. ```APIDOC ## POST /projects ### Description Creates a new project. ### Method POST ### Endpoint /projects ### Parameters #### Request Body - **name** (string) - Required - The name of the project. May not be empty, or all whitespace. - **description** (string) - Optional - The project's description. - **is_active** (boolean) - Optional - Whether the project is active. Default true. - **start_date** (date) - Optional - The start date of the project. - **due_date** (date) - Optional - The due date of the project. - **parent** (object) - Optional - The parent project to put this project under. - **id** (integer) - Optional - The id of the parent project. Default 0 (Root level project). - **field_templates** (array) - Optional - Contains objects which represent the field template setting for a specific item type for this project. Defaults to inherits for any unspecified item types. - **item_type** (string) - Required - The item type this setting is for. Either "defect", "feature", "task", or "incident". - **is_inherited** (boolean) - Required - Whether or not the setting from this item type is explicitly set at this level. - **id** (integer) - Required if is_inherited is false, Not allowed if is_inherited is true - The ID of the field template to use for this item type. - **workflows** (array) - Optional - Contains objects which represent the workflow setting for a specific item type for this project. Defaults to inherits for any unspecified item types. - **item_type** (string) - Required - The item type this setting is for. Either "defect", "feature", "task", or "incident". - **is_inherited** (boolean) - Required - Whether or not the setting for this item type is explicitly set at this level. - **id** (integer) - Required if is_inherited is false, Not allowed if is_inherited is true - The ID of the workflow to use for this item type if the setting is explicitly set. - **enforces_workflow_steps** (boolean) - Optional - Indicates if workflow steps are enforced for this project. Default false. - **restrict_new_items** (boolean) - Optional - Indicates if the workflow step for a new item in this project is restricted. Requires enforces_workflow_steps. Default false. - **keep_moved_in_same_step** (boolean) - Optional - Indicates if an item moved into this project from another project that uses the same workflow should be left in its current step. Default false. - **move_item_workflow_step** (integer) - Optional - The ID of the workflow step in which items will be placed when they are moved into this project. Default 0. - **new_item_workflow_step** (integer) - Optional - The ID of the workflow step which new items will be placed into when created under this project. Default 0. - **escalations** (object) - Optional - The escalation settings used by this project. Defaults to inherits. - **is_inherited** (boolean) - Required - Whether or not the setting at this level is explicitly set. - **id** (integer) - Required if is_inherited is false, Not allowed if is_inherited is true - The ID of the escalation to use at this level if it is explictly set. - **customer_portal_templates** (array) - Optional - Contains objects which represent the field template setting for all 3 actions in customer portal for a specific item type. Default inherits for any unspecified item types. - **item_type** (string) - Required - The item type this setting is for. Either "defect", "feature", "task", or "incident". - **in_inherited** (boolean) - Required - Indicates if the setting for this item type is explicitly set at this level. - **add_template** (object) - Required if is_inherited is false, Not allowed if is_inherited is true - The template to use for adding items. - **id** (integer) - Required - The id of the field template to use for this setting. - **edit_template** (object) - Required if is_inherited is false, Not allowed if is_inherited is true - The template to use for editing items. - **id** (integer) - Required - The id of the field template to use for this setting. - **view_template** (object) - Required if is_inherited is false, Not allowed if is_inherited is true - The template to use for viewing items. - **id** (integer) - Required - The id of the field template to use for this setting. - **custom_fields** (object) - Optional - A collection of key value pairs with the key being the name of the custom field, and the value being the new value of the field. - **custom field name** (custom field value) - Optional - custom field value ``` -------------------------------- ### Add Project Source: https://developer.axosoft.com/api/projects.html Adds a new project to the system. ```APIDOC ## POST /projects ### Description Adds a project. ### Method POST ### Endpoint /projects ### Response #### Success Response (200) - (Details of the newly created project) ``` -------------------------------- ### Add Customer Source: https://developer.axosoft.com/api/customers.html Adds a new customer to the system. Optionally includes contacts and custom fields. ```APIDOC ## post /customers ### Description Adds a customer. A list of contacts can be added along with the customer. ### Method POST ### Endpoint /customers ### Parameters #### Request Body - **company_name** (string) - Required - The customer's company name. - **company_url** (string) - Optional - The customer's company URL. - **custom_fields** (object) - Optional - A collection of key value pairs for custom fields. - **contacts** (array) - Optional - An array of contact objects to add with the customer. ### Request Example ```json { "company_name": "Example Corp", "company_url": "http://example.com", "custom_fields": { "industry": "Technology" }, "contacts": [ { "first_name": "John", "last_name": "Doe", "email": "john.doe@example.com" } ] } ``` ### Response #### Success Response (200) - **customer** (object) - The newly created customer object. ``` -------------------------------- ### Get Comments for Incident Source: https://developer.axosoft.com/api/incidents.html Retrieves a list of comments for a specific incident. ```APIDOC ## GET /incidents/{id}/comments ### Description Retrieves a list of comments of an item ### Method GET ### Endpoint /incidents/{id}/comments ### Parameters #### Path Parameters - **{id}** (integer) - Required - {URL parameter} The ID of the item #### Query Parameters - **detail_type** (string) - Optional - comment field name (comments for default comment field, or custom_xxx for custom comment fields) ``` -------------------------------- ### Get Attachments for Incident Source: https://developer.axosoft.com/api/incidents.html Retrieves a list of attachments for a specific incident. ```APIDOC ## GET /incidents/{id}/attachments ### Description Retrieves a list of attachments of an item ### Method GET ### Endpoint /incidents/{id}/attachments ### Parameters #### Path Parameters - **{id}** (integer) - Required - {URL parameter} The ID of the item ``` -------------------------------- ### Create Task Source: https://developer.axosoft.com/api/tasks.html Adds a new task to the system. ```APIDOC ## POST /tasks ### Description Adds an item. ### Method POST ### Endpoint /tasks ### Parameters #### Request Body - **notify_customer** (boolean) - Optional - Whether or not a one-time notification should be sent to the customer contact assigned to this item. - **item** (object) - Required - The item to be added or updated. - **name** (string) - Required - The name of the item. - **description** (string) - Optional - Description of the item. - **notes** (string) - Optional - Additional notes for the item. - **resolution** (string) - Optional - Description of the resolution when item is resolved. - **replication_procedures** (string) - Optional - Description of the procedures to replicate the issue. - **percent_complete** (integer) - Optional - A number between 0 and 100 representing the percent completion of the item. - **archived** (boolean) - Optional - Indicates whether the item is archived or not. - **publicly_viewable** (boolean) - Optional - Indicates whether the item is public and visible in Customer Portal. - **is_completed** (boolean) - Optional - Indicates whether the item is completed. Only applies to 'tasks'. - **completion_date** (date) - Optional - Date when the item was completed. - **due_date** (date) - Optional - Date when the item is due. - **reported_date** (date) - Optional - Date when the item was reported. - **start_date** (date) - Optional - Date when work on the item was started. - **assigned_to** (object) - Optional - The user this item is assigned to. - **id** (integer) - Required - ID of the user. - **category** (object) - Optional - Category this item belongs to. Only applies to 'tasks'. - **id** (integer) - Required - ID of the category. - **escalation_level** (object) - Optional - Escalation level this item is in. Only applies to 'incidents'. - **id** (integer) - Required - ID of the escalation level. - **priority** (object) - Optional - Priority of this item. - **id** (integer) - Required - ID of the priority. - **project** (object) - Optional - Project this item belongs to. - **id** (integer) - Required - ID of the project. - **parent** (object) - Optional - Parent item that this item belongs to. - **id** (integer) - Required - ID of the parent. - **release** (object) - Optional - Release this item is assigned to. - **id** (integer) - Required - ID of the release. - **reported_by** (object) - Optional - User this item was reported by. - **id** (integer) - Required - ID of the user. - **reported_by_customer_contact** (object) - Optional - Customer contact this item was reported by. - **id** (integer) - Required - ID of the customer contact. - **severity** (object) - Optional - Severity of this item. Only applies to 'defects' and 'incidents'. - **id** (integer) - Required - ID of the severity. - **status** (object) - Optional - Status of this item. - **id** (integer) - Required - ID of the status. - **workflow_step** (object) - Optional - Workflow step this item is in. - **id** (integer) - Required - ID of the workflow step. - **actual_duration** (object) - Optional - Duration of work that was actually spent on this item so far. - **duration** (float) - Required - Duration of work, used in conjunction with the time_unit. - **time_unit** (object) - Required - Time unit the duration represents. - **id** (integer) - Required - ID of the time unit. - **estimated_duration** (object) - Optional - Duration of work was originally estimated the item would take. - **duration** (float) - Required - Duration of work, used in conjunction with the time_unit. - **time_unit** (object) - Required - Time unit the duration represents. - **id** (integer) - Required - ID of the time unit. - **remaining_duration** (object) - Optional - Duration of work that remains to be done on the item. - **duration** (float) - Required - Duration of work, used in conjunction with the time_unit. - **time_unit** (object) - Required - Time unit the duration represents. - **id** (integer) - Required - ID of the time unit. - **custom_fields** (object) - Optional - A collection of key value pairs with the key being the name of the custom field, and the value being the new value of the field. - **custom field name** (string) - Optional - custom field value. ``` -------------------------------- ### Get Current User Source: https://developer.axosoft.com/api/me.html Retrieves the details of the currently authenticated user. ```APIDOC ## GET /me ### Description Retrieves the current user. ### Method GET ### Endpoint /me ### Parameters This endpoint does not accept any parameters. ### Request Example This endpoint does not require a request body. ### Response #### Success Response (200) This endpoint returns the details of the current user. The specific fields returned are not detailed in the source. #### Response Example No example response is provided in the source. ``` -------------------------------- ### Get Task by ID Source: https://developer.axosoft.com/api/tasks.html Retrieves a specific task by its ID or incident number. ```APIDOC ## GET /tasks/{id} ### Description Retrieves a specific task by its ID or incident number. ### Method GET ### Endpoint /tasks/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID or incident number of the item to be retrieved. #### Query Parameters - **with_lock** (boolean) - Optional - Whether or not the method should acquire and return a lock on the item. ``` -------------------------------- ### Get Incident by ID Source: https://developer.axosoft.com/api/incidents.html Retrieves a specific incident by its ID or incident number. ```APIDOC ## GET /incidents/{id} ### Description Retrieves a specific incident by its ID or incident number. ### Method GET ### Endpoint /incidents/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID or incident number of the item to be retrieved #### Query Parameters - **with_lock** (boolean) - Optional - Whether or not the method should acquire and return a lock on the item. ``` -------------------------------- ### Get Attachments for a Defect Source: https://developer.axosoft.com/api/defects.html Retrieves a list of attachments associated with a specific defect. ```APIDOC ## GET /defects/{id}/attachments ### Description Retrieves a list of attachments of an item ### Method GET ### Endpoint /defects/{id}/attachments ### Parameters #### Path Parameters - **{id}** (integer) - Required - {URL parameter} The ID of the item ``` -------------------------------- ### Add User Source: https://developer.axosoft.com/api/users.html Adds a new user to the system. Requires detailed user information including credentials and security roles. ```APIDOC ## POST /users ### Description Adds a user. ### Method POST ### Endpoint /users ### Parameters #### Request Body - **BODY DATA** (object) - Required - A JSON object with the following properties: - **is_active** (boolean) - Activate/deactivate a user. - **is_locked** (boolean) - Lock/unlock a user. Defaults to false. - **first_name** (string) - The user's firstname. Required. - **last_name** (string) - The user's lastname. Required. - **email** (string) - The user's email address. - **use_windows_auth** (boolean) - If user is allowed to use windows installation or not. - **windows_id** (string) - The windows username. Required if use_windows_auth is true. - **login_id** (string) - The username to login. Required if use_windows_auth is false. - **password** (string) - Passwords must be 6-25 characters long and contain at least one number or special character. - **security_roles** (array of integers) - Each integer element is a security role ID which specified what permissions user has. This array has one element at least. Required. ``` -------------------------------- ### Create Release Source: https://developer.axosoft.com/api/releases.html Creates a new release with specified properties such as name, notes, dates, and associations. ```APIDOC ## POST /releases ### Description Creates a new release. Requires a name and release type. Optional parameters include release notes, dates, parent release, status, capacity, and associated projects. ### Method POST ### Endpoint /releases ### Parameters #### Request Body - **name** (string) - Required - The name of the release. May not be empty or all whitespace. - **release_notes** (string) - Optional - The notes for this release. - **is_active** (boolean) - Optional - Whether or not the release is active. Defaults to false. - **start_date** (date) - Optional - The start date of the release. - **due_date** (date) - Optional - The due date of the release. - **velocity_start_date** (date) - Optional - The date to use for the start date when calculating velocity. Defaults to automatic. - **parent** (object) - Optional - The parent release to put this release under. - **id** (integer) - Required - The ID of the parent release. This may not be a descendant of the release being edited. - **release_type** (object) - Required - The type of release. Setting this to anything other than 1 will unassociate any associated projects. - **id** (integer) - Required - The ID of the release type for this release. Can only be 1, 2 or 3. - **status** (object) - Optional - The status of this release. Dependant on release_type. Defaults to 0. - **id** (integer) - Required - The ID of the status for this release. Must be a valid status for the current release type. - **capacity** (integer) - Optional - The work capacity in hours of this release. Applies only to sprints. - **associated_projects** (array) - Optional - An array of project objects to associate with this release. Only allowed if the release_type is 1. Each object has one property: - **id** (integer) - Required - The id of the project to associate with this release. Projects below a specified project are considered associated as well and may not be included. Any projects above it are considered not associated. In other words, if a project is included in this list, none of its ancestors or descendants may also be specified. Explicitly pass null to remove any associated projects. ### Request Example { "example": "{\"name\": \"New Release\", \"release_notes\": \"Initial release notes\", \"is_active\": true, \"release_type\": {\"id\": 1}, \"associated_projects\": [{\"id\": 10}]}" } ### Response #### Success Response (200) - **id** (integer) - The ID of the newly created release. - **name** (string) - The name of the release. ### Response Example { "example": "{\"id\": 5, \"name\": \"New Release\"}" } ``` -------------------------------- ### Get Email by ID Source: https://developer.axosoft.com/api/emails.html Retrieves a specific email message by its unique identifier. ```APIDOC ## GET /emails/{id} ### Description Retrieves one email message. ### Method GET ### Endpoint /emails/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the email message. ``` -------------------------------- ### Posting Source Control Commits to Axosoft API Source: https://developer.axosoft.com/scm-integration.html Instructions on how to make an HTTP POST request to the Axosoft API to submit source control commits. ```APIDOC ## Posting Source Control Commits to Axosoft API Posting to the API is fairly simple. It's a straight forward HTTP POST to a specific URL with JSON data and an additional query string parameter. To send a post do the following: 1. Put together the URL. The URL is the root URL you received, with `/api/v5/source_control_commits/` appended, e.g. "https://gregsdonutshop.axosoft.com/api/v5/source_control_commits". 2. Build your post data as described above, and convert it to a string. 3. Append the API key you get from the user to the JSON string, and hash this with SHA256. Append this to your URL as a query string parameter called `hash`, e.g. `&hash=xyz...`. 4. Set your "Content-Type" header to `application/json`. 5. Send your request with the HTTP verb POST. ``` -------------------------------- ### Get Feature by ID Source: https://developer.axosoft.com/api/features.html Retrieves a specific feature item by its ID or incident number. ```APIDOC ## GET /features/{id} ### Description Retrieves a specific feature item by its ID or incident number. ### Method GET ### Endpoint /features/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID or incident number of the item to be retrieved. #### Query Parameters - **with_lock** (boolean) - Optional - Whether or not the method should acquire and return a lock on the item. ``` -------------------------------- ### List Projects Source: https://developer.axosoft.com/api/projects.html Retrieves a list of all projects. Projects are returned in a hierarchical structure. The `extend` parameter can be used to include additional details about project settings. ```APIDOC ## GET /projects ### Description Retrieves all projects. The projects are returned in a hierarchical structure, with lower-level projects being listed in their parents' 'children' property. To get additional details about the projects' settings, use the extend parameter. ### Method GET ### Endpoint /projects ### Parameters #### Query Parameters - **display_inactive** (boolean) - Optional - Whether to include inactive projects in results. Defaults to false. - **extend** (string or string array) - Optional - An optional parameter to specify which additional details are requested. Options include 'field_templates', 'workflows', 'escalations', 'customer_portal', 'custom_fields', or 'all'. Multiple options can be sent in a string array or a comma-separated string. - **flat** (boolean) - Optional - An optional parameter to specify if the list of projects should be returned in a flat hierarchy. This value must be set to 'true' to take effect. ### Response #### Success Response (200) - **children** (array) - Contains lower-level projects if the response is hierarchical. - **field_templates** (object) - Information about field templates set for the project. - **workflows** (object) - Information about workflows set for the project. - **escalations** (object) - Information about escalation paths for the project. - **customer_portal** (object) - Field templates for each customer portal action type. - **custom_fields** (object) - Values for each custom field set for this project. ``` -------------------------------- ### List Tasks Source: https://developer.axosoft.com/api/tasks.html Returns a list of items. Supports filtering by project, release, assignee, customer, contact, and archived status. Allows for sorting and searching. ```APIDOC ## GET /tasks ### Description Returns a list of items. ### Method GET ### Endpoint /tasks ### Parameters #### Query Parameters - **page** (integer) - Optional - The page number to returned - **page_size** (integer) - Optional - The number of rows to return per page - **project_id** (integer) - Optional - The ID of the project to filter by. Defaults to 0 which is all projects - **include_sub_projects_items** (boolean) - Optional - When filtering using 'project_id', whether to include items belonging to the sub-projects of the project. Defaults to false - **include_inactive_projects** (boolean) - Optional - When filtering using 'project_id', whether to include items belonging to inactive projects. Defaults to false - **release_id** (integer) - Optional - The ID of the release to filter by. Defaults to 0 which is all releases - **include_sub_releases_items** (boolean) - Optional - When filtering using 'release_id', whether to include items belonging to the sub-releases of the release. Defaults to false - **include_inactive_releases** (boolean) - Optional - When filtering using 'release_id', whether to include items belonging to inactive releases. Defaults to false - **assigned_to_id** (integer) - Optional - The ID of the user or team to filter by. This filters by the Assigned To field. Defaults to 0 which is all users - **assigned_to_type** (string) - Optional - Defines the type (either user or team) that the item is assigned to. This works in conjunction with 'assigned_to_id'. Values can be either 'user' or 'team'. If omitted, then this field defaults to 'user'. - **customer_id** (integer) - Optional - ID of the customer to filter by. This filters by the Reported By Customer Contact field. Defaults to 0 which is all customers - **contact_id** (integer) - Optional - ID of the customer contact to filter by. This filters by the Reported By Customer Contact field. Defaults to 0 which is all contacts - **filter_id** (integer) - Optional - ID of the filter to use for filtering. Defaults to 0 which is no filter - **include_archived** (boolean) - Optional - Whether to include archived items. Defaults to false - **sort_fields** (comma seperated string) - Optional - The names of the columns to sort by. - **search_string** (string) - Optional - The term to search for within the column specified in search_field - **search_field** (string) - Optional - The name of the column to search in. Defaults to 'all' which is all fields - **columns** (comma seperated string) - Optional - Containins the names of the columns to return for each item. Defaults to all columns. However, please note that for performance reasons long text fields (such as 'Description') are not returned by this API call. To get the values of long text fields, use the GET /defects/{id} call to retrieve a single item. ``` -------------------------------- ### Get Feature Attachments Source: https://developer.axosoft.com/api/features.html Retrieves a list of attachments associated with a specific feature item. ```APIDOC ## GET /features/{id}/attachments ### Description Retrieves a list of attachments of an item ### Method GET ### Endpoint /features/{id}/attachments ### Parameters #### Path Parameters - **{id}** (integer) - Required - The ID of the item ``` -------------------------------- ### Get Emails for Incident Source: https://developer.axosoft.com/api/incidents.html Retrieves a list of email messages associated with a specific incident. ```APIDOC ## GET /incidents/{id}/emails ### Description Retrieves a list of email messages for an item. ### Method GET ### Endpoint /incidents/{id}/emails ### Parameters #### Path Parameters - **{id}** (integer) - Required - {URL Parameter} The ID of the item. ``` -------------------------------- ### Get Emails for a Defect Source: https://developer.axosoft.com/api/defects.html Retrieves a list of email messages associated with a specific defect. ```APIDOC ## GET /defects/{id}/emails ### Description Retrieves a list of email messages for an item. ### Method GET ### Endpoint /defects/{id}/emails ### Parameters #### Path Parameters - **{id}** (integer) - Required - {URL Parameter} The ID of the item. ```