Search the text of files

Files of file fields. Upload in three steps: start an upload, send the bytes to the returned URL, then write the file id into the file field with /v1/records/mutate or attach it with /v1/files/{id}/attach. To remove a file, write the field's list without its id with /v1/records/mutate. Access to a file follows read access to its record and field. Searches the extracted text of the files you can read, ranked by relevance, and returns each hit with its record, a snippet and the character offset of the matching passage. A file's text is searchable once its text extraction has run.

Requires: read access to the record and the file field

POST
/v1/files/search

Authorization

apiKeyAuth
x-api-key<token>

API key authentication. Create an API key in your user profile and include it in the x-api-key header.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://customermates.com/api/v1/files/search" \  -H "Content-Type: application/json" \  -d '{    "query": "termination notice",    "limit": 5  }'
{
  "items": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "mimeType": "string",
      "fieldId": "84922011-b03d-4966-bc95-c5b49bc2e342",
      "record": {
        "ref": {
          "typeId": "caab7c42-4ce7-4bd5-bbab-6017cec730b7",
          "recordId": "0470cfd4-dcf3-4d8c-ac28-58c6deeff25f"
        },
        "title": {
          "state": "value",
          "value": {
            "kind": "text",
            "value": "string"
          }
        },
        "typeLabel": "string",
        "typePluralLabel": "string",
        "icon": "string",
        "pictureUrl": "string",
        "canEdit": true
      },
      "snippet": "string",
      "section": "string",
      "offset": 9007199254740991
    }
  ],
  "didYouMean": [
    "string"
  ],
  "retrieval": "semantic"
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
Empty