# AGS Evidence Store v1.0.0 AGS Evidence Store API Documentation # Table of contents - [Evidences](#Evidences) - [Create a new evidence](#Create-a-new-evidence) - [Get all revisions for an evidence](#Get-all-revisions-for-an-evidence) - [Get an evidence revision by id](#Get-an-evidence-revision-by-id) - [Get attachment download url](#Get-attachment-download-url) - [Get evidence by id](#Get-evidence-by-id) - [Get evidence verification status](#Get-evidence-verification-status) - [Query evidences](#Query-evidences) - [Provider](#Provider) - [Get evidence schema by id](#Get-evidence-schema-by-id) - [Providers](#Providers) - [Add a new evidence schema](#Add-a-new-evidence-schema) - [Create new provider](#Create-new-provider) - [Enable/disable provider](#Enable/disable-provider) - [Get provider by id](#Get-provider-by-id) - [List providers](#List-providers) ___ # Evidences ## Create a new evidence [Back to top](#top) ``` POST /evidences ``` ### Headers - `Header` | Name | Type | Description | |---------|-----------|--------------------------------------| | X-API-Key | `UUID` |

The evidence provider's api key.

| ### Header examples Header-Example: ```json { "X-API-Key": "eaa54921-d77b-46e1-af1c-1ab92c7209f7" } ``` ### Parameters - `Parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | providerId | `UUID` |

The evidence provider's id.

| | targetId | `string` |

The evidence's target's id.

| | additionalTargetIds | `string[]` | **optional**

The evidence's additional target ids.

| | correlationId | `string` | **optional**

The evidence's correlation id.

| | schemaId | `string` |

The evidence's content's schema id.

| | content | `Object` |

The evidence's content.

| | attachments | `Object[]` | **optional**

The evidence's attachments.

| | attachments.objectKey | `string` |

The attachment's S3 object key.

_Size range: ...128_
| ### Parameters examples `json` - Request-Example: ```json { "providerId": "my-test-provider", "targetId": "my-app-2.1", "content": { "codeCoverage": "80%", "executionId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db" }, "schemaId": "code-coverage-1.0" } ``` ### Success response #### Success response - `Success 201` | Name | Type | Description | |----------|------------|---------------------------------------| | evidenceId | `UUID` |

The evidence's id.

| | providerId | `UUID` |

The issuing evidence provider's id.

| | targetId | `string` |

The evidence's target's id.

| | correlationId | `string` | **optional**

The evidence's correlation id.

| | createdTimestamp | `string` |

The evidence's created timestamp.

| | schemaId | `string` |

The evidence's schema's id.

| | content | `Object` |

The evidence's content.

| | attachments | `Object[]` | **optional**

The evidence's attachments.

| | attachments.objectKey | `string` |

The attachment's S3 object key.

| | attachments.hash | `string` |

The attachment's hash value in base64url encoded format.

| ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 201 Created { "evidenceId": "e8176aff-afc1-4936-8935-19d922ca98a6", "providerId": "my-test-authority", "targetId": "my-app-2.1", "createdTimestamp": "2021-05-07T08:39:49.304Z", "content": { "codeCoverage": "80%", "executionId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db" }, "schemaId": "code-coverage-1.0" } ``` ### Error response #### Error response - `Error 400 - Bad Request` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-400` ```json HTTP/1.1 400 Bad Request { "error": "The field cannot be null or empty.", "retryable": false } ``` #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ``` ## Get all revisions for an evidence [Back to top](#top) ``` GET /evidences/{id}/revisions ``` ### Parameters - `Parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | id | `UUID` |

The evidence's id.

| ### Parameters - `Optional Query Parameters` | Name | Type | Description | |----------|------------|---------------------------------------| | nextToken | `string` | **optional**

The pagination token.

| ### Success response #### Success response - `Success 200` | Name | Type | Description | |----------|------------|---------------------------------------| | total | `number` |

The total number of matched items.

| | results | `Object[]` |

The search result.

| | results.evidenceId | `UUID` |

The evidence's id.

| | results.providerId | `UUID` |

The issuing evidence provider's id.

| | results.targetId | `string` |

The evidence's target's id.

| | results.[correlationId] | `string` |

The evidence's correlation id.

| | results.createdTimestamp | `string` |

The evidence's created timestamp.

| | results.schemaId | `string` |

The evidence's schema's id.

| | results.content | `Object` |

The evidence's content.

| | results.attachments | `Object[]` | **optional**

The evidence's attachments.

| | results.attachments.url | `string` |

The attachment's S3 pre-signed url.

| | results.attachments.hash | `string` |

The attachment's hash value in

| | results.version | `number` |

The revision's version.

| | nextToken | `string` | **optional**

The pagination token.

| ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 200 OK { "total": 20, "results": [ { "evidenceId": "e8176aff-afc1-4936-8935-19d922ca98a6", "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "targetId": "toolkit-2.1", "createdTimestamp": "2021-05-07T08:39:49.304Z", "content": { "codeCoverage": "80%", "executionId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db" }, "schemaId": "code-coverage-1.0" }, { "evidenceId": "14f840ff-65a6-4f5b-a878-427a8f87ba5d", "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "targetId": "release-2.3", "createdTimestamp": "2021-05-07T06:34:41.429Z", "content": { "codeCoverage": "80%", "executionId": "12cd7e84-c6a2-4f93-96fd-6dc9247a0777" }, "schemaId": "code-coverage-1.0" }, "version": 1 ], "nextToken": "Mnwy" } ``` ### Error response #### Error response - `Error 400 - Bad Request` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-400` ```json HTTP/1.1 400 Bad Request { "error": "The field cannot be null or empty.", "retryable": false } ``` #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ``` ## Get an evidence revision by id [Back to top](#top) ``` GET /evidences/{id}/revisions/{revisionId} ``` ### Parameters - `Parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | id | `UUID` |

The evidence's id.

| | revisionid | `string` |

The revision's id.

| ### Success response #### Success response - `Success 200` | Name | Type | Description | |----------|------------|---------------------------------------| | evidenceId | `UUID` |

The evidence's id.

| | providerId | `UUID` |

The issuing evidence provider's id.

| | targetId | `string` |

The evidence's target's id.

| | correlationId | `string` | **optional**

The evidence's correlation id.

| | createdTimestamp | `string` |

The evidence's created timestamp.

| | schemaId | `string` |

The evidence's schema's id.

| | content | `Object` |

The evidence's content.

| | attachments | `Object[]` | **optional**

The evidence's attachments.

| | attachments.url | `string` |

The attachment's S3 pre-signed url.

| | attachments.hash | `string` |

The attachment's hash value in

| | version | `number` |

The revision's version.

| ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 200 OK { "total": 20, "results": [ { "evidenceId": "e8176aff-afc1-4936-8935-19d922ca98a6", "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "targetId": "toolkit-2.1", "createdTimestamp": "2021-05-07T08:39:49.304Z", "content": { "codeCoverage": "80%", "executionId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db" }, "schemaId": "code-coverage-1.0" }, { "evidenceId": "14f840ff-65a6-4f5b-a878-427a8f87ba5d", "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "targetId": "release-2.3", "createdTimestamp": "2021-05-07T06:34:41.429Z", "content": { "codeCoverage": "80%", "executionId": "12cd7e84-c6a2-4f93-96fd-6dc9247a0777" }, "schemaId": "code-coverage-1.0" }, "version": 1 ], "nextToken": "Mnwy" } ``` ### Error response #### Error response - `Error 400 - Bad Request` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-400` ```json HTTP/1.1 400 Bad Request { "error": "The field cannot be null or empty.", "retryable": false } ``` #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ``` ## Get attachment download url [Back to top](#top) ``` GET /evidences/{id}/attachments/{attachmentHash} ``` ### Parameters - `Path parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | id | `UUID` |

The evidence's id.

| | attachmentHash | `string` |

The evidence attachment's hash value.

| ### Success response #### Success response - `Success 200` | Name | Type | Description | |----------|------------|---------------------------------------| | url | `string` |

The pre-signed S3 url to download the attachment

| ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 200 OK { "url": "https://sample-bucket.s3.ap-southeast-2.amazonaws.com/attachment.doc" } ``` ### Error response #### Error response - `Error 400 - Bad Request` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 404 - Not Found` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-400` ```json HTTP/1.1 400 Bad Request { "error": "The field cannot be null or empty.", "retryable": false } ``` #### Error response example - `Error-Response-404` ```json HTTP/1.1 404 Not Found { "error": "The requested resource cannot be found.", "retryable": false } ``` #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ``` ## Get evidence by id [Back to top](#top) ``` GET /evidences/{id} ``` ### Parameters - `Parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | id | `UUID` |

The evidence's id.

| ### Success response #### Success response - `Success 200` | Name | Type | Description | |----------|------------|---------------------------------------| | evidenceId | `UUID` |

The evidence's id.

| | providerId | `UUID` |

The issuing evidence authority's id.

| | targetId | `string` |

The evidence's target's id.

| | correlationId | `string` | **optional**

The evidence's correlation id.

| | createdTimestamp | `string` |

The evidence's created timestamp.

| | schemaId | `string` |

The evidence's schema's id.

| | content | `Object` |

The evidence's content.

| | attachments | `Object[]` | **optional**

The evidence's attachments.

| | attachments.objectKey | `string` |

The attachment's S3 object key.

| | attachments.attachmentId | `string` |

The attachment's id.

| ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 200 OK { "evidenceId": "e8176aff-afc1-4936-8935-19d922ca98a6", "providerId": "my-test-authority", "targetId": "my-app-2.1", "createdTimestamp": "2021-05-07T08:39:49.304Z", "content": { "codeCoverage": "80%", "executionId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db" }, "schemaId": "code-coverage-1.0" } ``` ### Error response #### Error response - `Error 400 - Bad Request` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 404 - Not Found` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-400` ```json HTTP/1.1 400 Bad Request { "error": "The field cannot be null or empty.", "retryable": false } ``` #### Error response example - `Error-Response-404` ```json HTTP/1.1 404 Not Found { "error": "The requested resource cannot be found.", "retryable": false } ``` #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ``` ## Get evidence verification status [Back to top](#top) ``` GET /evidences/{id}/verificationstatus ``` ### Parameters - `Parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | id | `UUID` |

The evidence's id.

| ### Success response #### Success response - `Success 200` | Name | Type | Description | |----------|------------|---------------------------------------| | verificationStatus | `Verified|Unverified` | | | evidence | `Object` | **optional**

The evidence data.

| | evidence.evidenceId | `UUID` |

The evidence's id.

| | evidence.providerId | `UUID` |

The issuing evidence provider's id.

| | evidence.targetId | `string` |

The evidence's target's id.

| | evidence.correlationId | `string` | **optional**

The evidence's correlation id.

| | evidence.createdTimestamp | `string` |

The evidence's created timestamp in ISO format.

| | evidence.schemaId | `string` |

The evidence's schema's id.

| | evidence.content | `Object` |

The evidence's content.

| ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 200 OK { "verificationStatus": "Verified", "evidence": { "evidenceId": "34e8e89a-3e5d-4add-b435-c052081309dc", "providerId": "canary-authority", "targetId": "canary", "createdTimestamp": "2021-06-02T03:02:44.472Z", "content": { "codeCoverage": "80%", "executionId": "ac25a528-7e21-48d1-a8a0-2d3437a04062" }, "schemaId": "canary-test-schema" } } ``` ### Error response #### Error response - `Error 400 - Bad Request` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 404 - Not Found` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-400` ```json HTTP/1.1 400 Bad Request { "error": "The field cannot be null or empty.", "retryable": false } ``` #### Error response example - `Error-Response-404` ```json HTTP/1.1 404 Not Found { "error": "The requested resource cannot be found.", "retryable": false } ``` #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ``` ## Query evidences [Back to top](#top) ``` POST /evidences/search ``` ### Parameters - `Parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | targetIds | `string[]` | **optional**

The list of target ids.

| | providerId | `string` | **optional**

The evidence's provider id search term.

| | providerIds | `string[]` | **optional**

The list of evidence provider ids.

| | schemaId | `string` | **optional**

The evidence's schema id search term.

| | content | `string` | **optional**

The content search term.

| | limit | `number` | **optional**

The number of evidences per page.

_Default value: 10_
_Size range: 1-20_
| | nextToken | `string` | **optional**

The pagination token.

| | fromTimestamp | `string` | **optional**

The start time stamp value in ISO format.

| | toTimestamp | `string` | **optional**

The end time stamp value in ISO format.

| ### Parameters examples `json` - Request-Example: ```json { "targetIds": ["my-app-1.0", "toolkit-2.1", "release-2.3"], "limit": 2, "nextToken": "MTAwfDEwMA" } ``` ### Success response #### Success response - `Success 200` | Name | Type | Description | |----------|------------|---------------------------------------| | total | `number` |

The total number of matched items.

| | results | `Object[]` |

The search result.

| | results.evidenceId | `UUID` |

The evidence's id.

| | results.providerId | `UUID` |

The issuing evidence provider's id.

| | results.targetId | `string` |

The evidence's target's id.

| | results.[correlationId] | `string` |

The evidence's correlation id.

| | results.createdTimestamp | `string` |

The evidence's created timestamp in ISO format.

| | results.schemaId | `string` |

The evidence's schema's id.

| | results.content | `Object` |

The evidence's content.

| | attachments | `Object[]` | **optional**

The evidence's attachments.

| | attachments.objectKey | `string` |

The attachment's S3 object key.

| | attachments.attachmentId | `string` |

The attachment's id.

| | nextToken | `string` | **optional**

The pagination token.

| ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 200 OK { "total": 3076, "results": [ { "evidenceId": "e8176aff-afc1-4936-8935-19d922ca98a6", "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "targetId": "toolkit-2.1", "createdTimestamp": "2021-05-07T08:39:49.304Z", "content": { "codeCoverage": "80%", "executionId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db" }, "schemaId": "code-coverage-1.0" }, { "evidenceId": "14f840ff-65a6-4f5b-a878-427a8f87ba5d", "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "targetId": "release-2.3", "createdTimestamp": "2021-05-07T06:34:41.429Z", "content": { "codeCoverage": "80%", "executionId": "12cd7e84-c6a2-4f93-96fd-6dc9247a0777" }, "schemaId": "code-coverage-1.0" } ], "nextToken": "Mnwy" } ``` ### Error response #### Error response - `Error 400 - Bad Request` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-400` ```json HTTP/1.1 400 Bad Request { "error": "The field cannot be null or empty.", "retryable": false } ``` #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ``` # Provider ## Get evidence schema by id [Back to top](#top) ``` GET /providers/:id/schemas/:schemaId ``` ### Parameters - `Parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | id | `UUID` |

The evidence provider's id.

| | schemaId | `string` |

The evidence schema's id.

| ### Success response #### Success response - `Success 200` | Name | Type | Description | |----------|------------|---------------------------------------| | providerId | `UUID` |

The attestatiton authority's id.

| | schemaId | `string` |

The evidence schema's id.

| | createdTimestamp | `string` |

The evidence schema's created timestamp in ISO format.

| | description | `string` | **optional**

The evidence schema's description.

| | content | `Object` |

The JSON schema content.

| ### Success response example #### Success response example - `Response-Example:` ```json HTTP/1.1 OK { "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "schemaId": "test-coverage-1.0", "createdTimestamp": "2021-05-07T08:39:49.304Z", "content": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://example.com/product.schema.json", "title": "Product", "description": "A product in the catalog", "type": "object" } } ``` # Providers ## Add a new evidence schema [Back to top](#top) ``` POST /providers/:id/schemas ``` ### Parameters - `Parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | id | `UUID` |

The evidence provider's id.

| | providerId | `UUID` |

The evidence provider's id.

| | schemaId | `string` |

The schema's id.

| | description | `string` | **optional**

The schema's description.

| | content | `Object` |

the JSON schema.

| ### Parameters examples `json` - Request-Example: ```json { "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "schemaId": "test-coverage-1.0", "description": "Test coverage schema", "content": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://example.com/product.schema.json", "title": "Product", "description": "A product in the catalog", "type": "object" } } ``` ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 201 Created {} ``` ### Error response #### Error response - `Error 400 - Bad Request` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 404 - Not Found` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-400` ```json HTTP/1.1 400 Bad Request { "error": "The field cannot be null or empty.", "retryable": false } ``` #### Error response example - `Error-Response-404` ```json HTTP/1.1 404 Not Found { "error": "The requested resource cannot be found.", "retryable": false } ``` #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ``` ## Create new provider [Back to top](#top) ``` POST /providers ``` ### Parameters - `Parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | providerId | `string` | **optional**

The evidence provider's id.

_Size range: ..36_
| | name | `string` |

The evidence provider's name.

_Size range: ..128_
| | description | `String` | **optional**

The evidence provider's description.

_Size range: ..128_
| | schemas | `Object[]` | **optional**

The evidence provider's schema.

| | schemas.schemaId | `string` |

The schema's id.

_Size range: ..128_
| | schemas.description | `string` | **optional**

The schema's description.

_Size range: ..128_
| | schemas.content | `Object` |

the JSON schema.

| ### Parameters examples `json` - Request-Example: ```json { "name": "my evidence provider", "description": "a new evidence provider" } ``` ### Success response #### Success response - `Success 201` | Name | Type | Description | |----------|------------|---------------------------------------| | providerId | `string` |

The evidence provider's id.

| | name | `string` |

The evidence provider's name.

| | createdTimestamp | `string` |

The evidence provider's created timestemp in ISO format.

| | description | `string` | **optional**

The evidence provider's description.

| | enabled | `boolean` |

Flag indicating whether the evidence provider is enabled.

| | apiKey | `string` |

The api key assigned to the evidence provider.

| ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 201 Created { "name": "my evidence provider", "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "createdTimestamp": "2021-05-07T08:39:49.304Z", "description": "A new evidence provider", "enabled": true, "apiKey": "my-new-api-key" } ``` ### Error response #### Error response - `Error 400 - Bad Request` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-400` ```json HTTP/1.1 400 Bad Request { "error": "The field cannot be null or empty.", "retryable": false } ``` #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ``` ## Enable/disable provider [Back to top](#top) ``` PUT /providers/:id ``` ### Parameters - `Parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | id | `UUID` |

The evidence provider's id.

| | providerId | `UUID` |

The evidence provider's id.

| | enabled | `boolean` |

The flag indicating whether the evidence provider is enabled.

| ### Parameters examples `json` - Request-Example: ```json { "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "enabled": true } ``` ### Success response #### Success response - `Success 200` | Name | Type | Description | |----------|------------|---------------------------------------| | providerId | `UUID` |

The evidence provider's id.

| | name | `string` |

The evidence provider's name.

| | createdTimestamp | `string` |

The evidence provider's created timestemp in ISO format.

| | description | `string` | **optional**

The evidence provider's description.

| | enabled | `boolean` |

Flag indicating whether the attesation authority is enabled.

| ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 200 OK { "name": "my attetastation authority", "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "createdTimestamp": "2021-05-07T08:39:49.304Z", "description": "A new evidence provider", "enabled": true, } ``` ### Error response #### Error response - `Error 400 - Bad Request` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 404 - Not Found` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-400` ```json HTTP/1.1 400 Bad Request { "error": "The field cannot be null or empty.", "retryable": false } ``` #### Error response example - `Error-Response-404` ```json HTTP/1.1 404 Not Found { "error": "The requested resource cannot be found.", "retryable": false } ``` #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ``` ## Get provider by id [Back to top](#top) ``` GET /providers/{id} ``` ### Parameters - `Parameter` | Name | Type | Description | |----------|------------|---------------------------------------| | id | `string` |

The evidence provider's id.

| ### Success response #### Success response - `Success 200` | Name | Type | Description | |----------|------------|---------------------------------------| | providerId | `string` |

The evidence provider's id.

| | name | `string` |

The evidence provider's name.

| | createdTimestamp | `string` |

The evidence provider's created timestemp in ISO format.

| | description | `string` | **optional**

The evidence provider's description.

| | enabled | `boolean` |

Flag indicating whether the attesation authority is enabled.

| ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 200 OK { "name": "my attetastation authority", "providerId": "0254b1a6-2a53-4b6e-9c71-adce4071d1db", "createdTimestamp": "2021-05-07T08:39:49.304Z", "description": "A new evidence provider", "enabled": true, } ``` ### Error response #### Error response - `Error 400 - Bad Request` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 404 - Not Found` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-400` ```json HTTP/1.1 400 Bad Request { "error": "The field cannot be null or empty.", "retryable": false } ``` #### Error response example - `Error-Response-404` ```json HTTP/1.1 404 Not Found { "error": "The requested resource cannot be found.", "retryable": false } ``` #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ``` ## List providers [Back to top](#top) ``` GET /providers ``` ### Parameters - `Optional Query Parameters` | Name | Type | Description | |----------|------------|---------------------------------------| | limit | `number` | **optional**

The number of authorities per page.

_Default value: 50_
_Size range: 1-50_
| | nextToken | `string` | **optional**

The pagination token.

| | providerId | `string` | **optional**

The evidence provider id search query.

| | name | `string` | **optional**

The evidence provider name search query.

| | description | `string` | **optional**

The evidence provider description search query.

| | schemaId | `string` | **optional**

The evidence schema id search query.

| ### Success response #### Success response - `Success 200` | Name | Type | Description | |----------|------------|---------------------------------------| | results | `Object[]` |

The list of evidence providers.

| | results.providerId | `string` |

The evidence provider's id.

| | results.name | `string` |

The evidence provider's name.

| | results.description | `string` | **optional**

The evidence provider's description.

| | results.createdTimestamp | `string` |

The evidence provider's created timestamp in ISO format.

| | results.enabled | `boolean` |

The flag indicating whether the evidence provider is enabled.

| | results.schemas | `Object[]` | **optional**

The list of schemas associated with the evidence provider.

| | results.schemas.schemaId | `string` | **optional**

The schema's id.

| ### Success response example #### Success response example - `Success-Response:` ```json HTTP/1.1 200 OK { "results": [ { "providerId": "my-authority", "createdTimestamp": "2021-07-15T11:07:56.018Z", "enabled": true, "name": "my-authority-name", "schemas": [ { "schemaId": "schema-1.0" } ] } ] } ``` ### Error response #### Error response - `Error 500 - Internal Server Error` | Name | Type | Description | |----------|------------|---------------------------------------| | error | `String` |

Error message.

| | retryable | `Boolean` |

Flag indicating whether the request can be retried.

| ### Error response example #### Error response example - `Error-Response-500` ```json HTTP/1.1 500 Internal Server Error { "error": "Connection refused.", "retryable": true } ```