SalesOS
Import

Import/ Export

Data import and export

Custom object imports: resolve a lookup column's names (or emails / ids) to record ids the caller can see. The rows are then sent to the Bulk API as object `custom:<apiName>`, which writes through CustomObjectsService.

POST
/v1/import-export/custom-objects/{apiName}/resolve-lookups

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired
fieldRequiredstring
valuesRequiredarray<string>

Items: at most 1000.

Path Parameters

apiNameRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/custom-objects/<string>/resolve-lookups" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "field": "string",
    "values": [
      "string"
    ]
  }'

{}

Preview import file - returns headers, sample rows, and suggested mappings

POST
/v1/import-export/preview

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Query Parameters

entityTypeRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/preview?entityType=%3Cstring%3E" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

{}

Import records from file Requires the organization Owner or Admin role.

POST
/v1/import-export/import

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired
entityTypeRequiredstring
Value in: "LEAD" | "CONTACT" | "ACCOUNT" | "OPPORTUNITY"
fieldMappingsarray<object>
skipDuplicatesboolean
duplicateCheckFieldstring
updateExistingboolean
skipFirstRowboolean
dateFormatstring
sourceCRMstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/import" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "entityType": "LEAD",
    "fieldMappings": [
      {
        "sourceField": "string",
        "targetField": "string",
        "defaultValue": "string",
        "transformation": "string",
        "transform": "string"
      }
    ],
    "skipDuplicates": true,
    "duplicateCheckField": "string",
    "updateExisting": true,
    "skipFirstRow": true,
    "dateFormat": "string",
    "sourceCRM": "string"
  }'

{}

Export records to file

POST
/v1/import-export/export

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired
entityTypeRequiredstring
Value in: "LEAD" | "CONTACT" | "ACCOUNT" | "OPPORTUNITY" | "ACTIVITY" | "TASK"
formatstring
Value in: "CSV" | "EXCEL" | "JSON"
fieldsarray<string>
filtersobject
startDatestring
endDatestring
idsarray<string>

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/export" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "entityType": "LEAD",
    "format": "CSV",
    "fields": [
      "string"
    ],
    "filters": {},
    "startDate": "string",
    "endDate": "string",
    "ids": [
      "string"
    ]
  }'

{}

Download exported file

GET
/v1/import-export/download/{fileName}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

fileNameRequiredstring
curl -X GET "https://api.salesos.org/v1/import-export/download/<string>" \
  -H "Authorization: Bearer <token>"

Get available export fields for an entity type

GET
/v1/import-export/fields/{entityType}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

entityTypeRequiredstring
curl -X GET "https://api.salesos.org/v1/import-export/fields/<string>" \
  -H "Authorization: Bearer <token>"

[
  {}
]

Get import template (sample file)

GET
/v1/import-export/template/{entityType}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

entityTypeRequiredstring

Query Parameters

formatstring
curl -X GET "https://api.salesos.org/v1/import-export/template/<string>?format=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

Get crmtemplate

GET
/v1/import-export/crm-template/{crmType}/{entityType}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

crmTypeRequiredstring
entityTypeRequiredstring
curl -X GET "https://api.salesos.org/v1/import-export/crm-template/<string>/<string>" \
  -H "Authorization: Bearer <token>"

{}

AI-powered field mapping suggestions

POST
/v1/import-export/suggest-mappings

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/suggest-mappings" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

[
  {}
]

Detect CRM type from CSV headers

POST
/v1/import-export/detect-crm

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/detect-crm" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

{}

Get migration history for organization Scoped to your organization.

GET
/v1/import-export/migrations

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Query Parameters

sourceCRMstring
entityTypestring
statusstring
limitstring
offsetstring
curl -X GET "https://api.salesos.org/v1/import-export/migrations?sourceCRM=%3Cstring%3E&entityType=%3Cstring%3E&status=%3Cstring%3E&limit=%3Cstring%3E&offset=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

Create a new migration job Requires the organization Owner or Admin role.

POST
/v1/import-export/migrations

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/migrations" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Get migration statistics Scoped to your organization.

GET
/v1/import-export/migrations/stats

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

curl -X GET "https://api.salesos.org/v1/import-export/migrations/stats" \
  -H "Authorization: Bearer <token>"

Get migration status and progress Scoped to your organization.

GET
/v1/import-export/migrations/{id}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/import-export/migrations/<string>" \
  -H "Authorization: Bearer <token>"

{}

Delete a migration record Only migrations in your organization can be deleted.

DELETE
/v1/import-export/migrations/{id}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X DELETE "https://api.salesos.org/v1/import-export/migrations/<string>" \
  -H "Authorization: Bearer <token>"

Cancel an in-progress migration Only migrations in your organization can be cancelled.

POST
/v1/import-export/migrations/{id}/cancel

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/migrations/<string>/cancel" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Download CRM-specific import template (Public endpoint - no auth required) Returns a professional, branded XLSX file with instructions and data sheet

GET
/v1/import-export/crm-template-download/{crmType}/{entityType}

Path Parameters

crmTypeRequiredstring
entityTypeRequiredstring
curl -X GET "https://api.salesos.org/v1/import-export/crm-template-download/<string>/<string>"

Sources

GET
/v1/import-export/wizard/sources

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

curl -X GET "https://api.salesos.org/v1/import-export/wizard/sources" \
  -H "Authorization: Bearer <token>"

List

GET
/v1/import-export/wizard/batches

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Query Parameters

limitstring
offsetstring
curl -X GET "https://api.salesos.org/v1/import-export/wizard/batches?limit=%3Cstring%3E&offset=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

Create

POST
/v1/import-export/wizard/batches

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/wizard/batches" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Create from api

POST
/v1/import-export/wizard/batches/api

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/wizard/batches/api" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Get

GET
/v1/import-export/wizard/batches/{id}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/import-export/wizard/batches/<string>" \
  -H "Authorization: Bearer <token>"

Remove

DELETE
/v1/import-export/wizard/batches/{id}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X DELETE "https://api.salesos.org/v1/import-export/wizard/batches/<string>" \
  -H "Authorization: Bearer <token>"

Add files

POST
/v1/import-export/wizard/batches/{id}/files

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/wizard/batches/<string>/files" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Update plan

PUT
/v1/import-export/wizard/batches/{id}/plan

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

idRequiredstring
curl -X PUT "https://api.salesos.org/v1/import-export/wizard/batches/<string>/plan" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Ai suggest

POST
/v1/import-export/wizard/batches/{id}/files/{key}/ai-suggest

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
keyRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/wizard/batches/<string>/files/<string>/ai-suggest" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Invite

POST
/v1/import-export/wizard/batches/{id}/invite

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/wizard/batches/<string>/invite" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Dry run

POST
/v1/import-export/wizard/batches/{id}/dry-run

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/wizard/batches/<string>/dry-run" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Start

POST
/v1/import-export/wizard/batches/{id}/start

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/wizard/batches/<string>/start" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Cancel

POST
/v1/import-export/wizard/batches/{id}/cancel

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/wizard/batches/<string>/cancel" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Rollback

POST
/v1/import-export/wizard/batches/{id}/rollback

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/import-export/wizard/batches/<string>/rollback" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Records

GET
/v1/import-export/wizard/batches/{id}/records

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Query Parameters

objectRequiredstring
limitunknown
pageunknown
curl -X GET "https://api.salesos.org/v1/import-export/wizard/batches/<string>/records?object=%3Cstring%3E&limit=null&page=null" \
  -H "Authorization: Bearer <token>"

Problems

GET
/v1/import-export/wizard/batches/{id}/problems

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Query Parameters

limitunknown
modeunknown
curl -X GET "https://api.salesos.org/v1/import-export/wizard/batches/<string>/problems?limit=null&mode=null" \
  -H "Authorization: Bearer <token>"

Errors

GET
/v1/import-export/wizard/batches/{id}/errors.csv

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Query Parameters

modeunknown
curl -X GET "https://api.salesos.org/v1/import-export/wizard/batches/<string>/errors.csv?mode=null" \
  -H "Authorization: Bearer <token>"