SalesOS

Relationship Maps

Org chart and stakeholder mapping

Create a new persistent relationship map

POST
/v1/relationship-maps/maps

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/relationship-maps/maps" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Map created

Get all persistent maps for an account

GET
/v1/relationship-maps/maps/account/{accountId}

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

accountIdRequiredstring
curl -X GET "https://api.salesos.org/v1/relationship-maps/maps/account/<string>" \
  -H "Authorization: Bearer <token>"

List of maps for the account

Get all persistent maps for a deal

GET
/v1/relationship-maps/maps/deal/{dealId}

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

dealIdRequiredstring
curl -X GET "https://api.salesos.org/v1/relationship-maps/maps/deal/<string>" \
  -H "Authorization: Bearer <token>"

List of maps for the deal

Get a persistent map by ID

GET
/v1/relationship-maps/maps/{mapId}

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

mapIdRequiredstring
curl -X GET "https://api.salesos.org/v1/relationship-maps/maps/<string>" \
  -H "Authorization: Bearer <token>"

Map with nodes and edges

Delete a persistent map

DELETE
/v1/relationship-maps/maps/{mapId}

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

mapIdRequiredstring
curl -X DELETE "https://api.salesos.org/v1/relationship-maps/maps/<string>" \
  -H "Authorization: Bearer <token>"

Map deleted

Add a node to a persistent map

POST
/v1/relationship-maps/maps/{mapId}/nodes

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

mapIdRequiredstring

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/relationship-maps/maps/<string>/nodes" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Node added

Update a node position on the canvas

PATCH
/v1/relationship-maps/maps/{mapId}/nodes/{nodeId}/position

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

mapIdRequiredstring
nodeIdRequiredstring

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 PATCH "https://api.salesos.org/v1/relationship-maps/maps/<string>/nodes/<string>/position" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Node position updated

Delete a node from a persistent map

DELETE
/v1/relationship-maps/maps/{mapId}/nodes/{nodeId}

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

mapIdRequiredstring
nodeIdRequiredstring
curl -X DELETE "https://api.salesos.org/v1/relationship-maps/maps/<string>/nodes/<string>" \
  -H "Authorization: Bearer <token>"

Node deleted

Add an edge to a persistent map

POST
/v1/relationship-maps/maps/{mapId}/edges

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

mapIdRequiredstring

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/relationship-maps/maps/<string>/edges" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Edge added

Delete an edge from a persistent map

DELETE
/v1/relationship-maps/maps/{mapId}/edges/{edgeId}

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

mapIdRequiredstring
edgeIdRequiredstring
curl -X DELETE "https://api.salesos.org/v1/relationship-maps/maps/<string>/edges/<string>" \
  -H "Authorization: Bearer <token>"

Edge deleted

Auto-populate a map from account contacts

POST
/v1/relationship-maps/maps/{mapId}/auto-populate

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

mapIdRequiredstring

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/relationship-maps/maps/<string>/auto-populate" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Nodes auto-created from contacts

Calculate influence score for a node

GET
/v1/relationship-maps/maps/{mapId}/nodes/{nodeId}/influence

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

mapIdRequiredstring
nodeIdRequiredstring
curl -X GET "https://api.salesos.org/v1/relationship-maps/maps/<string>/nodes/<string>/influence" \
  -H "Authorization: Bearer <token>"

Influence score breakdown

Analyze role gaps across all accounts

GET
/v1/relationship-maps/gaps

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/relationship-maps/gaps" \
  -H "Authorization: Bearer <token>"

Gap analysis results

Get relationship map statistics across all accounts

GET
/v1/relationship-maps/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/relationship-maps/stats" \
  -H "Authorization: Bearer <token>"

Relationship map statistics

Get account summaries for overview

GET
/v1/relationship-maps/accounts

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/relationship-maps/accounts" \
  -H "Authorization: Bearer <token>"

Account summaries

Get relationship map for an account

GET
/v1/relationship-maps/{accountId}

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

accountIdRequiredstring
curl -X GET "https://api.salesos.org/v1/relationship-maps/<string>" \
  -H "Authorization: Bearer <token>"

Account relationship map with nodes and edges

Generate/refresh relationship map for an account

POST
/v1/relationship-maps/{accountId}/generate

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

accountIdRequiredstring

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/relationship-maps/<string>/generate" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Refreshed relationship map

Get relationship insights for an account

GET
/v1/relationship-maps/{accountId}/insights

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

accountIdRequiredstring
curl -X GET "https://api.salesos.org/v1/relationship-maps/<string>/insights" \
  -H "Authorization: Bearer <token>"

Account relationship insights

Identify white-space opportunities in account contacts

GET
/v1/relationship-maps/{accountId}/white-space

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

accountIdRequiredstring
curl -X GET "https://api.salesos.org/v1/relationship-maps/<string>/white-space" \
  -H "Authorization: Bearer <token>"

White-space analysis

Update a node in the relationship map

PATCH
/v1/relationship-maps/{accountId}/nodes/{nodeId}

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

accountIdRequiredstring
nodeIdRequiredstring

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 PATCH "https://api.salesos.org/v1/relationship-maps/<string>/nodes/<string>" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Node updated

Generate a relationship map from dto

POST
/v1/relationship-maps/generate

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/relationship-maps/generate" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Generated relationship map

Add an edge to the relationship map

POST
/v1/relationship-maps/{accountId}/edges

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

accountIdRequiredstring

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/relationship-maps/<string>/edges" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Edge added

Remove an edge from the relationship map

DELETE
/v1/relationship-maps/{accountId}/edges/{edgeId}

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

accountIdRequiredstring
edgeIdRequiredstring
curl -X DELETE "https://api.salesos.org/v1/relationship-maps/<string>/edges/<string>" \
  -H "Authorization: Bearer <token>"

Edge removed

Refresh a relationship map

POST
/v1/relationship-maps/{accountId}/refresh

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

accountIdRequiredstring

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/relationship-maps/<string>/refresh" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Refreshed map