Synack credentials API
Credentials are restricted to authorized users.
Credentials are restricted to authorized users.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/synack-credentials-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Asset Service Credentials API
version: 2.1.020
contact:
name: Synack Engineering
email: engineering@synack.com
description: Credentials are restricted to authorized users.
servers:
- url: https://client.synack.com/api/asset
description: Commercial
- url: https://client.synack.us/api/asset
description: FedRAMP (Medium)
tags:
- name: credentials
description: Credentials are restricted to authorized users.
paths:
/v2/user-role-credentials/{credentialUid}:
parameters:
- $ref: '#/components/parameters/CredentialUIDPath'
patch:
x-excluded: true
operationId: patchUserRoleCredential
tags:
- credentials
description: Patch the properties of a user-role credential. Returns 409 Conflict if the credentials do not match the structure of previously created credentials.
requestBody:
description: Credential assignment.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserRoleCredentialUpdate'
responses:
'200':
$ref: '#/components/responses/SingleUserRoleCredentialResponse'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'409':
$ref: '#/components/responses/409Conflict'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
security:
- OAuth2:
- asset_gw
- asset_client_ow
- asset_boss_ow
- asset_client_lw
- asset_boss_lw
/v2/user-role-credentials/{credentialUid}/assigned-users/{userUid}:
parameters:
- $ref: '#/components/parameters/CredentialUIDPath'
- $ref: '#/components/parameters/UserUIDPath'
put:
x-excluded: true
operationId: putUserRoleCredentialUser
tags:
- credentials
description: Assign a user to a user-role credential. Credentials with sharing of "one" will return a 409 status code when a request is received to add further users. Credentials with sharing of "all" will return a 409 status code on any request to add users. There is not limit to the number of users that may be added for sharing of "many".
responses:
'204':
$ref: '#/components/responses/204NoContent'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'409':
$ref: '#/components/responses/409Conflict'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
security:
- OAuth2:
- asset_gw
- asset_client_ow
- asset_boss_ow
- asset_client_lw
- asset_boss_lw
delete:
x-excluded: true
operationId: deleteUserRoleCredentialUser
tags:
- credentials
description: Remove a user from a user-role credential.
responses:
'204':
$ref: '#/components/responses/204NoContent'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
security:
- OAuth2:
- asset_gw
- asset_client_ow
- asset_boss_ow
- asset_client_lw
- asset_boss_lw
components:
schemas:
CheckerStatus:
type: string
enum:
- unchecked
- invalid
- valid
description: Status reported by automated checkers.
Updatable:
allOf:
- $ref: '#/components/schemas/Creatable'
- type: object
properties:
updatedAt:
type: string
format: date-time
readOnly: true
description: Automatically set by the server to the time the request was processed whenever the resource is updated.
updatedBy:
$ref: '#/components/schemas/OperationUserUID'
FailedValidation:
type: object
required:
- message
properties:
property:
type: string
readOnly: true
value:
type: string
readOnly: true
message:
type: string
readOnly: true
UserRoleCredentialUpdate:
description: Update to a credential used by an application in context of a user role.
type: object
properties:
credentialData:
$ref: '#/components/schemas/Base64Data'
status:
$ref: '#/components/schemas/CheckerStatus'
lastCheckedAt:
type: string
format: date-time
description: The last date time the credential was checked.
sharing:
$ref: '#/components/schemas/CredentialSharing'
Base64Data:
type: string
description: Base64 encoding of data.
example: TXkgdm9pY2UgaXMgbXkgcGFzc3dvcmQu
CredentialSharing:
type: string
description: Determines the limits on users that may be assigned; "one" permits only one user to be assigned, "many" places no limit, and "all" prevents any users to explicitly assigned as all users are implicitly allowed to use the credential.
enum:
- one
- many
- all
IndexedFailedValidations:
type: object
properties:
index:
type: integer
description: Zero-based index indicating the which item in request containing an array of items has failed validation.
readOnly: true
failedValidation:
type: array
description: Array of failed validation rules.
readOnly: true
items:
$ref: '#/components/schemas/FailedValidation'
ProblemDetails:
type: object
description: 'See [RFC 7807: Problem Details for HTTP APIs](https://tools.ietf.org/html/rfc7807)'
properties:
type:
type: string
readOnly: true
title:
type: string
readOnly: true
status:
type: integer
format: int32
minimum: 100
maximum: 511
description: HTTP Status code.
readOnly: true
detail:
type: string
description: Message detailing the problem.
readOnly: true
instance:
type: string
description: generated problem instance number to correlate with logs
readOnly: true
failedValidation:
type: array
description: Array of failed validation rules.
readOnly: true
items:
$ref: '#/components/schemas/FailedValidation'
failedValidations:
type: array
description: Array of indexed failed validation rules.
readOnly: true
items:
$ref: '#/components/schemas/IndexedFailedValidations'
maxBatchSize:
type: integer
description: Maximum processable batch size.
readOnly: true
batchSize:
type: integer
description: Batch size sent when batch is too large.
readOnly: true
OperationUserUID:
type: string
pattern: ^[0-9a-f]{12}
readOnly: true
description: Automatically set by the server to the requesting user whenever the resource is updated. May be a user account or a service account if the action is performed by an automated.
OrganizationUID:
type: string
pattern: ^[-_0-9a-z]{1,50}
description: Unique identifier for an organization.
UserRoleUID:
type: string
pattern: ^[0-9a-f]{12}
description: Unique identifier for a mobile or web application user role.
readOnly: true
UID:
type: string
pattern: ^[0-9a-f]{12}
readOnly: true
description: Unique Identifier.
Creatable:
type: object
required:
- createdAt
- createdBy
properties:
createdAt:
type: string
format: date-time
readOnly: true
description: Automatically set by the server to the time the request was processed whenever the resource was created.
createdBy:
$ref: '#/components/schemas/OperationUserUID'
UserUID:
type: string
pattern: ^[-_0-9a-z]{1,100}
description: Unique identifier for a user.
AssetUID:
type: string
pattern: ^[0-9a-f]{24}
description: Unique identifier for an asset.
UserRoleCredential:
description: Credential used by an application in context of a user role.
allOf:
- type: object
required:
- credentialData
- status
- sharing
properties:
uid:
$ref: '#/components/schemas/UID'
userRoleUid:
$ref: '#/components/schemas/UserRoleUID'
assetUid:
$ref: '#/components/schemas/AssetUID'
required: false
organizationUid:
$ref: '#/components/schemas/OrganizationUID'
required: false
credentialData:
$ref: '#/components/schemas/Base64Data'
status:
$ref: '#/components/schemas/CheckerStatus'
lastCheckedAt:
type: string
format: date-time
description: The last date time the credential was checked.
sharing:
$ref: '#/components/schemas/CredentialSharing'
assignedUsers:
description: User assigned to a credential and role.
type: array
readOnly: true
items:
$ref: '#/components/schemas/UserUID'
- $ref: '#/components/schemas/Updatable'
responses:
404NotFound:
description: Not found.
503ServiceUnavailable:
description: Service Unavailable.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
500InternalServerError:
description: Internal Server Error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
204NoContent:
description: No content.
403Forbidden:
description: Forbidden
409Conflict:
description: Conflict.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
SingleUserRoleCredentialResponse:
description: Identifying information about a credential.
headers:
ETag:
$ref: '#/components/headers/ETag'
content:
application/json:
schema:
$ref: '#/components/schemas/UserRoleCredential'
401Unauthorized:
description: Unauthorized.
parameters:
CredentialUIDPath:
name: credentialUid
in: path
schema:
$ref: '#/components/schemas/UID'
required: true
description: Unique identifier for an asset credential.
UserUIDPath:
name: userUid
in: path
schema:
type: string
required: true
description: Unique identifier for a user.
headers:
ETag:
description: An identifier for a specific version of a resource
schema:
type: string
pattern: ^(?:W\/)?\".*\"$
securitySchemes:
OAuth2:
type: oauth2
flows:
implicit:
authorizationUrl: login.synack.com
scopes:
asset_lr: Grants per-listing read access for all types of assets.
asset_srt_lr: Grants per-listing read access to assets that may be read by SRTs.
asset_or: Grants organization-level read access for all types of assets owned by a particular organization.
asset_boss_ow: Grants organization-level access to assets owned by a particular organization that may be modified by BOSS users.
asset_boss_lw: Grants per-listing write access to assets that may be modified by BOSS users.
asset_client_ow: Grants organization-level access to assets owned by a particular organization that may be modified by Client users.
asset_client_lw: Grants per-listing write access to assets that may be modified by Client users.
asset_user_or: Grants user-level read access to asset stats that owned by a particular organization.
asset_gr: Grants unrestricted read access to all assets. Except for credential data of cloud accout assets.
asset_gw: Grants unrestricted write access to all assets.
asset_scan_gr: Grants unrestricted read access to all assets. Including credential data of cloud account assets.