# Signature

Generate test signatures.

Test signatures are unique identifiers for tests based on project, spec file path, and test title. They are used to track tests across multiple runs.

## Get test signature

> Generate a unique test signature based on project, spec file path, and test title

```json
{"openapi":"3.0.2","info":{"title":"Currents REST API","version":"1.0.0"},"tags":[{"name":"Signature","description":"Generate test signatures.\n\nTest signatures are unique identifiers for tests based on project, spec file path,\nand test title. They are used to track tests across multiple runs."}],"servers":[{"url":"https://api.currents.dev/v1","description":"Production API"},{"url":"https://api-staging.currents.dev/v1","description":"Staging API"},{"url":"http://localhost:4000/v1","description":"Local development"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"API key authentication using Bearer token"}},"schemas":{"TestSignatureRequest":{"type":"object","required":["projectId","specFilePath","testTitle"],"properties":{"projectId":{"type":"string","description":"The project ID"},"specFilePath":{"type":"string","description":"Full path to the spec file"},"testTitle":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1}],"description":"Test title or array of titles (for nested describe blocks)"}}},"TestSignatureResponse":{"type":"object","required":["status","data"],"properties":{"status":{"type":"string","enum":["OK"]},"data":{"type":"object","properties":{"signature":{"type":"string","description":"The generated test signature"}}}}},"ErrorResponse":{"type":"object","required":["status","error"],"properties":{"status":{"type":"string","enum":["FAILED"]},"error":{"type":"string","description":"Error message"}}}},"responses":{"BadRequest":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/signature/test":{"post":{"summary":"Get test signature","description":"Generate a unique test signature based on project, spec file path, and test title","operationId":"getTestSignature","tags":["Signature"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestSignatureRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestSignatureResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.currents.dev/api/resources/signature.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
