profiles

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-profiles"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/5378c6e4-7f93-4868-ad25-407466520de8/social-card.svg?v=3e7ae33eec8b" alt="profiles" width="600" height="315"></a>
POSThttps://hermeticor.com/v1/profiles/{id}/files/{key}

Upload a file (multipart field "file": image, PDF or MP4, up to 25 MB) into a profile property of type file; the property then holds the hosted URL

Parameters

idstringpathrequired
keystringpathrequired

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/profiles/{id}/files/{key}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "key": "string",
  "url": "string",
  "filename": "string"
}
Schema
keystringrequired
urlstringrequired
filenamestringrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
5XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

GEThttps://hermeticor.com/v1/profiles/{id}/pgp-key

The contact's PGP public key, if any (email to them is encrypted while it is set)

Parameters

idstringpathrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/profiles/{id}/pgp-key" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "profileId": "string",
  "fingerprint": "string",
  "userIds": [
    "string"
  ],
  "createdAt": "2024-01-01T00:00:00Z"
}
Schema
profileIdstringrequired
fingerprintstringrequired
userIdsstring[]required
createdAtstringrequired
4XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

5XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

PUThttps://hermeticor.com/v1/profiles/{id}/pgp-key

Set the contact's PGP public key; private keys are refused

Parameters

idstringpathrequired

Request body

application/json
publicKeystringrequired
{
  "publicKey": "string"
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/profiles/{id}/pgp-key" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"publicKey":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 200 · GET /v1/profiles/{id}/pgp-key

4XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

5XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

DELETEhttps://hermeticor.com/v1/profiles/{id}/pgp-key

Parameters

idstringpathrequired

Code samples

cURL
curl -X DELETE "https://hermeticor.com/v1/profiles/{id}/pgp-key" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "ok": true
}
Schema
okbooleanrequired
true
4XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

5XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

POSThttps://hermeticor.com/v1/profiles/batch/{op}

Synchronous batch of up to 100 contacts: op is create (fails if it exists), update (fails if unknown), upsert or archive. One result per row.

Parameters

opstringpathrequired
create | update | upsert | archive

Request body

application/json
itemsobject[]required
Show child parameters
identifiersobjectrequired
Show child parameters
emailstring
phonestring
externalIdstring
anonymousIdstring
standardobject
Show child parameters
firstNamestring
lastNamestring
timezonestring
localestring
countrystring
citystring
regionstring
lifecycleStagestring
ownerUserIdstring
attributesobject
{
  "items": [
    {
      "identifiers": {
        "email": "string",
        "phone": "string",
        "externalId": "string",
        "anonymousId": "string"
      },
      "standard": {
        "firstName": "string",
        "lastName": "string",
        "timezone": "string",
        "locale": "string",
        "country": "string",
        "city": "string",
        "region": "string",
        "lifecycleStage": "string",
        "ownerUserId": "string"
      },
      "attributes": {}
    }
  ]
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/profiles/batch/{op}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"identifiers":{"email":"string","phone":"string","externalId":"string","anonymousId":"string"},"standard":{"firstName":"string","lastName":"string","timezone":"string","locale":"string","country":"string","city":"string","region":"string","lifecycleStage":"string","ownerUserId":"string"},"attributes":{}}]}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "index": 0,
      "ok": true,
      "profileId": "string",
      "message": "string",
      "result": "string"
    }
  ],
  "succeeded": 0,
  "failed": 0
}
Schema
itemsItemsItem167[]required
Show child parameters
indexintegerrequired
okbooleanrequired
profileIdstringrequired
messagestring
resultstring
succeededintegerrequired
failedintegerrequired
4XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

5XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

POSThttps://hermeticor.com/v1/profiles/query

Filter profiles with a typed where / orderBy / limit / offset (fields are an allowlist; read "fields" in the result)

Request body

application/json
whereWhereItem[]
= []
Show child parameters
fieldstringrequired
opstringrequired
eq | ne | gt | gte | lt | lte | contains | starts_with | in | is_null | not_null
valuestring | number | boolean | string | number[]
orderByobject[]
= []
Show child parameters
fieldstringrequired
dirstring
asc | desc = asc
limitinteger
= 50
offsetinteger
= 0
{
  "where": [],
  "orderBy": [],
  "limit": 50,
  "offset": 0
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/profiles/query" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"where":[],"orderBy":[],"limit":50,"offset":0}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {}
  ],
  "fields": [
    "string"
  ],
  "hasMore": true
}
Schema
itemsobject[]required
fieldsstring[]required
hasMorebooleanrequired
4XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

5XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

GEThttps://hermeticor.com/v1/notes/{id}

A contact or company note by its id

Parameters

idstringpathrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/notes/{id}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "id": "string",
  "profileId": "string",
  "authorId": "string",
  "body": "string",
  "kind": "note",
  "at": "2024-01-01T00:00:00Z",
  "updatedAt": "2024-01-01T00:00:00Z",
  "resource": "contact"
}
GetV1NotesByIdResponseVariant
idstringrequired
profileIdstringrequired
authorIdstringrequired
bodystringrequired
kindstringrequired
note | email | call | meeting = note
atstringrequired
updatedAtstring
resourcestringrequired
contact
{
  "id": "string",
  "profileId": "string",
  "authorId": "string",
  "body": "string",
  "kind": "note",
  "at": "2024-01-01T00:00:00Z",
  "updatedAt": "2024-01-01T00:00:00Z",
  "resource": "contact"
}
GetV1NotesByIdResponseVariant2
idstringrequired
companyIdstringrequired
bodystringrequired
authorIdstringrequired
createdAtstringrequired
resourcestringrequired
company
{
  "id": "string",
  "companyId": "string",
  "body": "string",
  "authorId": "string",
  "createdAt": "2024-01-01T00:00:00Z",
  "resource": "company"
}
4XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

5XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

PUThttps://hermeticor.com/v1/notes/{id}

Edit a contact or company note

Parameters

idstringpathrequired

Request body

application/json
bodystringrequired
{
  "body": "string"
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/notes/{id}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"body":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 200 · GET /v1/notes/{id}

4XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

5XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

DELETEhttps://hermeticor.com/v1/notes/{id}

Delete a contact or company note

Parameters

idstringpathrequired

Code samples

cURL
curl -X DELETE "https://hermeticor.com/v1/notes/{id}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 200 · DELETE /v1/profiles/{id}/pgp-key

4XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

5XX Default Response

Same as 4XX · POST /v1/profiles/{id}/files/{key}

Updated