openapi: 3.2.0
info:
version: v3
title: Fortify on Demand Web API Explorer Attributes API
servers:
- url: https://api.ams.fortify.com
tags:
- name: Attributes
paths:
/api/v3/attributes:
get:
tags:
- Attributes
summary: Retrieve a list of attributes
description: 'Allowed Scopes: api-tenant, view-tenant-data'
operationId: AttributesV3_GetAttribute
parameters:
- name: filters
in: query
description: 'A delimited list of field filters.
Field name and value should be separated by a colon (:).
Multiple fields should be separated by a plus (+). Multiple fields are treated as an AND condition. Example, fieldname1:value+fieldname2:value
Multiple values for a field should be separated by a pipe (|). Mulitple values for a field are treated as an OR condition. Example, fieldname1:value1|value2
Filtering is not supported for the following fields: picklistValues'
required: false
schema:
type: string
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AttributeItemListResponse'
text/json:
schema:
$ref: '#/components/schemas/AttributeItemListResponse'
application/xml:
schema:
$ref: '#/components/schemas/AttributeItemListResponse'
text/xml:
schema:
$ref: '#/components/schemas/AttributeItemListResponse'
'401':
description: Unauthorized
'429':
description: TooManyRequests
'500':
description: InternalServerError
post:
tags:
- Attributes
summary: Create a new attribute
description: 'Allowed Scopes: api-tenant, manage-apps'
operationId: AttributesV3_PostAttribute
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/PostAttributeResponse'
text/json:
schema:
$ref: '#/components/schemas/PostAttributeResponse'
application/xml:
schema:
$ref: '#/components/schemas/PostAttributeResponse'
text/xml:
schema:
$ref: '#/components/schemas/PostAttributeResponse'
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
text/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
'422':
description: UnprocessableEntity
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
text/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: TooManyRequests
'500':
description: InternalServerError
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PostAttributeRequest'
text/json:
schema:
$ref: '#/components/schemas/PostAttributeRequest'
application/xml:
schema:
$ref: '#/components/schemas/PostAttributeRequest'
text/xml:
schema:
$ref: '#/components/schemas/PostAttributeRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PostAttributeRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PostAttributeRequest'
description: The attribute data
required: true
/api/v3/attributes/{attributeId}:
put:
tags:
- Attributes
summary: Update an attribute
description: 'Allowed Scopes: api-tenant, manage-apps'
operationId: AttributesV3_PutAttribute
parameters:
- name: attributeId
in: path
description: The attribute id
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
text/json:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
application/xml:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
text/xml:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
text/json:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
application/xml:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
text/xml:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: NotFound
'422':
description: UnprocessableEntity
content:
application/json:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
text/json:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
application/xml:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
text/xml:
schema:
$ref: '#/components/schemas/PutAttributeResponse'
'429':
description: TooManyRequests
'500':
description: InternalServerError
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PutAttributeRequest'
text/json:
schema:
$ref: '#/components/schemas/PutAttributeRequest'
application/xml:
schema:
$ref: '#/components/schemas/PutAttributeRequest'
text/xml:
schema:
$ref: '#/components/schemas/PutAttributeRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PutAttributeRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PutAttributeRequest'
description: The attribute data
required: true
delete:
tags:
- Attributes
summary: Deletes an attribute
description: 'Allowed Scopes: api-tenant, manage-apps'
operationId: AttributesV3_Delete
parameters:
- name: attributeId
in: path
description: The attribute id
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteApplicationResponse'
text/json:
schema:
$ref: '#/components/schemas/DeleteApplicationResponse'
application/xml:
schema:
$ref: '#/components/schemas/DeleteApplicationResponse'
text/xml:
schema:
$ref: '#/components/schemas/DeleteApplicationResponse'
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteApplicationResponse'
text/json:
schema:
$ref: '#/components/schemas/DeleteApplicationResponse'
application/xml:
schema:
$ref: '#/components/schemas/DeleteApplicationResponse'
text/xml:
schema:
$ref: '#/components/schemas/DeleteApplicationResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: NotFound
'429':
description: TooManyRequests
'500':
description: InternalServerError
components:
schemas:
AttributeValueItem:
type: object
properties:
Name:
type: string
SortOrder:
format: int32
type: integer
Error:
description: Error
type: object
properties:
errorCode:
format: int32
description: The error code
type: integer
message:
description: The error message
type: string
DeleteApplicationResponse:
description: Delete Application Response
type: object
properties:
success:
description: Indicates if the application was deleted
type: boolean
errors:
description: A list of errors encountered
type: array
items:
type: string
PostAttributeRequest:
description: Post Attrbute Request
required:
- name
- attributeType
- attributeDataType
type: object
properties:
name:
description: Attribute name
type: string
attributeType:
description: Attribute type
type: string
attributeDataType:
description: Attribute data name
enum:
- Picklist
- Text
- Boolean
- Date
- User
type: string
isRequired:
description: Is attribute required
type: boolean
isRestricted:
description: Is attribute editable only by SecLeads
type: boolean
defaultValue:
description: Default value for the attribute. Required when both isRequired and isRestricted are true.
type: string
picklistValues:
description: Picklist Values
type: array
items:
$ref: '#/components/schemas/AttributeValueItem'
PostAttributeResponse:
description: Post Attrbute Response
type: object
properties:
attributeId:
format: int32
description: The id of the attribute that was created
type: integer
success:
description: Indicates if the application was created
type: boolean
errors:
description: A list of errors encountered
type: array
items:
type: string
AttributeItemValue:
description: Attribute Item Value
type: object
properties:
id:
format: int32
description: The id of the attribute item value
type: integer
name:
description: The name of the attribute item value
type: string
AttributeItem:
description: Attribute Item
type: object
properties:
id:
format: int32
description: The attribute id
type: integer
name:
description: The attribute name
type: string
attributeTypeId:
format: int32
description: The attribute type id. Values can be obtained by calling GET /api/v3/lookup-items?type=AttributeTypes
type: integer
attributeType:
description: The attribute type. Values can be obtained by calling GET /api/v3/lookup-items?type=AttributeTypes
type: string
attributeDataTypeId:
format: int32
description: The attribute data type id. Values can be obtained by calling GET /api/v3/lookup-items?type=AttributeDataTypes
type: integer
attributeDataType:
description: The attribute data type. Values can be obtained by calling GET /api/v3/lookup-items?type=AttributeDataTypes
type: string
isRequired:
description: Indicates if the attribute is required
type: boolean
isRestricted:
description: Indicates if the attribute is editable only by Security Leads
type: boolean
defaultValue:
description: Default value for the attribute when both isRequired and isRestricted are true
type: string
picklistValues:
description: A list of attribute item values
type: array
items:
$ref: '#/components/schemas/AttributeItemValue'
ErrorResponse:
description: Error Response
type: object
properties:
errors:
description: List of errors
type: array
items:
$ref: '#/components/schemas/Error'
PutAttributeResponse:
description: Put Attrbute Response
type: object
properties:
success:
description: Indicates if the attribute was updated
type: boolean
errors:
description: A list of errors encountered
type: array
items:
type: string
PutAttributeRequest:
description: Put Attrbute Request
type: object
properties:
isRequired:
description: Is attribute required
type: boolean
isRestricted:
description: Is attribute editable only by SecLeads
type: boolean
defaultValue:
description: Default value for the attribute. Required when both isRequired and isRestricted are true.
type: string
overwriteExistingValues:
description: Overwrite existing picklist values
type: boolean
picklistValues:
description: Picklist Values
type: array
items:
type: string
AttributeItemListResponse:
description: Generic List Response
type: object
properties:
items:
description: The list of items
type: array
items:
$ref: '#/components/schemas/AttributeItem'
totalCount:
format: int32
description: Total count of items
type: integer
offset:
format: int32
description: Offset of the starting record. 0 indicates the first record.
type: integer
limit:
format: int32
description: Maximum records to return.
type: integer