Reo.dev APIs (2.0.0)

Download OpenAPI specification:

API Support Reo.dev: contact@reo.dev

Welcome to the Reo.dev API Documentation.

Reo.dev APIs let you access and integrate data from your Reo workspace with your existing systems and workflows. They give you access to accounts, developers, buyers, activities and lists, so you can build integrations for your own use cases.

API Types

Reo.dev provides two types of APIs:

Type What it gives you Pricing Availability
Workspace APIs Data tied to your own Reo workspace: your segments, lists and audiences Free, included in the default plan Available now
Enrichment APIs Open data from across Reo's dataset, not limited to your workspace Chargeable Coming soon

Workspace APIs

Workspace APIs are split into Read APIs and Write APIs. Each has its own API key:

Type What it does Base URL Where to find the key
Read APIs Retrieve data from Reo and use it in your external systems https://integration.reo.dev Settings → Configurations → API Keys → Product Export & Zapier Integration
Write APIs Send or import data into Reo https://ingest.reo.dev Settings → Configurations → API Keys → Product Usage API

You can copy a key directly from the API Keys page with the Copy button. Only Admins can see API keys.

Important: Read APIs and Write APIs use separate API keys, and the keys are not interchangeable. A Read key on the write host returns 401, and a Write key on the read host returns 403.

How to read this doc

Every API uses the same layout: overview, endpoint, authentication, parameters, response, examples, error codes, enums and things to note. Enums and error codes are repeated in full under each API on purpose, so every section stands on its own. All sample data is masked: names, IDs, domains, emails and keys are placeholders.

Conventions

  • Pagination: paginated APIs take a page query parameter (defaults to 1) and return page_no, page_size and total_pages. Activity APIs return has_more instead.
  • Timestamps: first_activity, latest_activity and latest_activity_time are epoch milliseconds. *_date fields are YYYY-MM-DD. Audience timestamps are ISO 8601 UTC. Ingest event_at is Unix seconds.
  • Strings: tags and agent_tags are comma-separated strings. Unknown text fields usually come back as an empty string "".
  • Header names: header names are case-insensitive. The docs use X-API-KEY.

API Keys

Every request needs an API key in the X-API-KEY request header. Reo.dev has two keys, one for each API type.

Where to find your API keys

Key Used for Location in Reo
Read API key All Workspace APIs — Read endpoints on https://integration.reo.dev Settings → Configurations → API Keys → Product Export & Zapier Integration
Write API key All Workspace APIs — Write endpoints on https://ingest.reo.dev (Lists and Ingest Data) Settings → Configurations → API Keys → Product Usage API

Copy a key with the Copy button on the API Keys page. Only Admins can see API keys. If you need a key and aren't an Admin, ask your workspace Admin or contact contact@reo.dev.

Headers

Header Required Applies to Value
X-API-KEY Yes All APIs Your Read or Write API key
user Yes Create a List, Add to a List Email of the Reo workspace user making the call
Content-Type Yes All Write APIs application/json

Keys are not interchangeable

Mistake Result
X-API-KEY missing or empty on a Read API 400 {"error":"Missing API Key"}
Invalid key, or a Write key, on a Read API 403 {"error":"Invalid API Key."}
Missing key, or a Read key, on Create a List / Add to a List 401 with an empty body
Wrong or missing key on an Ingest Data API 400 {"response_code":400,"response":"Authentication Failure","status":"failure"}

Example

curl --request GET \
  --url https://integration.reo.dev/segments \
  --header 'X-API-KEY: <your-read-api-key>'

Segments

Read the segments in your workspace and the accounts, developers or buyers inside each one.

List Segments

Overview

Returns all segments configured in your Reo workspace, including each segment's ID, name, type and owner. Use this endpoint first to discover segment IDs, then pass a segment ID into Get Accounts in a Segment or Get Developers in a Segment or Get Buyers in a Segment to pull the records inside it.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

None.

Errors

Code When it happens Response body
301 Trailing slash in the URL (/segments/) Moved Permanently
400 X-API-KEY header missing or empty {"error":"Missing API Key"}
403 Invalid API key, or a write API key used on this host {"error":"Invalid API Key."}
404 Wrong HTTP method (POST, DELETE) 404 page not found

ENUMs

Field Value Meaning
type ACCOUNT Segment of accounts. Use with Get Accounts in a Segment.
type DEVELOPER Segment of developers. Use with Get Developers in a Segment.
type BUYER Segment of buyers. Use with Get Buyers in a Segment.

Things to Note

  • A page query parameter is accepted but ignored.
  • id is the segment ID. Pass it as segment_id to Get Accounts, Get Developers and Get Buyers in a Segment.
  • Not paginated. Every segment comes back in one response, inside data. There is no page_no, page_size, total_pages or request_id.
  • owner is the email of the segment's owner.
  • segment_tag is an empty string when no tag is set.
header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url https://integration.reo.dev/segments \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Accounts in a Segment

Overview

Returns the list of accounts belonging to a specific segment in your Reo workspace, with data (firmographics, activity, tags). Use the segment ID from List Segments to scope this call.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

Name Type Required Description
segment_id string (UUID) Yes ID of an ACCOUNT-type segment, from List Segments

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty {"error":"Missing API Key"}
403 Invalid API key, or a write API key used on this host · Segment ID doesn't exist · Segment isn't ACCOUNT type · Segment ID is malformed or empty Bad key: {"error":"Invalid API Key."} · Unknown or wrong-type segment: {"error":"Invalid Segment"} · Malformed or empty ID: {"error":"Invalid Segment Id."}

ENUMs

Field Value Meaning
developer_activity HIGH activity_score_numeric 60–100. Strong engagement, high activity levels
developer_activity MEDIUM activity_score_numeric 20–60. Moderate engagement, requires nurturing
developer_activity LOW activity_score_numeric 0–20. Minimal activity, potential drop-off risk
customer_fit STRONG Strong match to your ideal customer profile
customer_fit MODERATE Partial match to your ideal customer profile
customer_fit WEAK Weak match to your ideal customer profile
employee_count_range 1-10, 11-50, 51-250, 251-1K, 1K-5K, 5K-10K, 10K-50K, 50K-100K, 100K+ Company headcount band
agent_data Dynamic All the AI columns generated via agents corresponding to the accounts within the segment will be available in this field

Things to Note

  • id is the account ID. It is the same value as orgId in reo_account_link and account_id in Get Account Activities and Get Deanonymised Developers.
  • Pagination fields are page_no, page_size and total_pages.
  • An empty result returns "data": null, not []. This happens on a page past the last one, and on page 1 of an empty segment. page_size then reports 0. Example past the last page: {"data":null,"page_no":99999,"page_size":0,"total_pages":1}.
  • first_activity and latest_activity are epoch milliseconds. first_activity_date and last_activity_date are YYYY-MM-DD.
  • tags and agent_tags are comma-separated strings. tech_stack is an array.
path Parameters
segment_id
required
string <uuid>
Example: 7c2e4f1a-3b8d-4e6f-9a12-5d3c8b7e1f40

ID of an ACCOUNT-type segment, from List Segments.

query Parameters
page
integer
Default: 1
Example: page=1

Page number. Defaults to 1.

header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url 'https://integration.reo.dev/segment/7c2e4f1a-3b8d-4e6f-9a12-5d3c8b7e1f40/accounts?page=1' \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page_no": 1,
  • "page_size": 10,
  • "total_pages": 1
}

Get Developers in a Segment

Overview

Returns the list of developers belonging to a specific DEVELOPER-type segment, including contact details (LinkedIn, GitHub, business email), location and activity score. Use the segment ID from List Segments to scope this call.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

Name Type Required Description
segment_id string (UUID) Yes ID of a DEVELOPER-type segment, from List Segments

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty {"error":"Missing API Key"}
403 Invalid API key, or a write API key used on this host · Segment ID doesn't exist · Segment isn't DEVELOPER type · Segment ID is malformed or empty Bad key: {"error":"Invalid API Key."} · Unknown or wrong-type segment: {"error":"Invalid Segment"} · Malformed or empty ID: {"error":"Invalid Segment Id."}

ENUMs

Field Value Meaning
activity_score HIGH activity_score_numeric 60–100. Strong engagement, high activity levels
activity_score MEDIUM activity_score_numeric 20–60. Moderate engagement, requires nurturing
activity_score LOW activity_score_numeric 0–20. Minimal activity, potential drop-off risk
seniority Entry Level, Architect, Director, VP, CXO, Founder Seniority of the developer's current role
employee_count_range 1-10, 11-50, 51-250, 251-1K, 1K-5K, 5K-10K, 10K-50K, 50K-100K, 100K+ Headcount band of the developer's company

Things to Note

  • id is the developer ID. Pass it as developer_id to Get Developer Activities. org_id is the account ID of the developer's company.
  • Pagination fields are page_no, page_size and total_pages.
  • page=abc, page=0 and page=-1 don't error. They are treated as page 1 and return 200.
  • The latest-activity field is latest_activity_time here, not latest_activity as on account APIs. Both are epoch milliseconds.
  • developer_github and other contact fields are an empty string when unknown.
  • tags and agent_tags are comma-separated strings.
path Parameters
segment_id
required
string <uuid>
Example: 2e8f6b3c-9a1d-4c7e-b5f2-8d4a6c0e9b17

ID of a DEVELOPER-type segment, from List Segments.

query Parameters
page
integer
Default: 1
Example: page=1

Page number. Defaults to 1.

header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url 'https://integration.reo.dev/segment/2e8f6b3c-9a1d-4c7e-b5f2-8d4a6c0e9b17/developers?page=1' \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page_no": 1,
  • "page_size": 100,
  • "total_pages": 5
}

Get Buyers in a Segment

Overview

Returns the list of buyers (contacts) belonging to a specific BUYER-type segment, with contact and profile details. Use the segment ID from List Segments to scope this call.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

Name Type Required Description
segment_id string (UUID) Yes ID of a BUYER-type segment, from List Segments

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty {"error":"Missing API Key"}
403 Invalid API key, or a write API key used on this host · Segment ID doesn't exist · Segment isn't BUYER type · Segment ID is malformed or empty Bad key: {"error":"Invalid API Key."} · Unknown or wrong-type segment: {"error":"Invalid Segment"} · Malformed or empty ID: {"error":"Invalid Segment Id."}

ENUMs

Field Value Meaning
activity_score HIGH activity_score_numeric 60–100. Strong engagement, high activity levels
activity_score MEDIUM activity_score_numeric 20–60. Moderate engagement, requires nurturing
activity_score LOW activity_score_numeric 0–20. Minimal activity, potential drop-off risk
seniority Entry Level, Architect, Director, VP, CXO, Founder Seniority of the buyer's current role
employee_count_range 1-10, 11-50, 51-250, 251-1K, 1K-5K, 5K-10K, 10K-50K, 50K-100K, 100K+ Headcount band of the buyer's company

Things to Note

  • Same fields as Get Developers in a Segment. Field names keep the developer_ prefix even though each record is a buyer.
  • id is the buyer ID. org_id is the account ID of the buyer's company. reo_developer_link points to the Buyers page in Reo.
  • Pagination fields are page_no, page_size and total_pages.
  • tags, agent_tags and location fields are an empty string when unknown.
path Parameters
segment_id
required
string <uuid>
Example: 9a4c2e7f-1b3d-4f8a-a6e9-3c5d7b1f0e84

ID of a BUYER-type segment, from List Segments.

query Parameters
page
integer
Default: 1
Example: page=1

Page number. Defaults to 1.

header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url 'https://integration.reo.dev/segment/9a4c2e7f-1b3d-4f8a-a6e9-3c5d7b1f0e84/buyers?page=1' \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page_no": 1,
  • "page_size": 100,
  • "total_pages": 13
}

Lists

Read the lists in your workspace and the accounts or developers inside each one.

List of "Lists"

Overview

Returns all "Lists" created in your Reo workspace, along with their source and metadata. Use the list ID from here to query Get Accounts in a List or Get Developers in a List.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

None.

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty {"error":"Missing API Key"}
403 Invalid API key, or a write API key used on this host {"error":"Invalid API Key."}
404 Wrong HTTP method (POST) 404 page not found

ENUMs

Field Value Meaning
type ACCOUNT List of accounts. Use with Get Accounts in a List
type DEVELOPER List of developers. Use with Get Developers in a List
source API List created via API
source IMPORT List imported via CSV
source CLONE List cloned from another list
source AGENT List created by an Agent
source CRM List imported from a CRM
source MCP List created via MCP

Things to Note

  • id is the list ID. Pass it as list_id to APIs - Get Accounts in a List, Get Developers in a List and Add to a List
  • count is the number of records in the list.
header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url https://integration.reo.dev/lists \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Accounts in a List

Overview

Returns the list of accounts belonging to a specific list in your Reo workspace, with data (firmographics, technographics, funding etc). Use the list ID from List of "Lists" to scope this call.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

Name Type Required Description
list_id string (UUID) Yes ID of an ACCOUNT-type list, from List of "Lists"

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty · page isn't a positive integer (for example page=abc) Missing key: {"error":"Missing API Key"} · Bad page: {"error":"page must be a positive integer, got \"abc\""}
403 Invalid API key, or a write API key used on this host · List ID doesn't exist or is malformed · List isn't ACCOUNT type Bad key: {"error":"Invalid API Key."} · Unknown or malformed list: {"error":"Invalid List Id."} · Wrong-type list: {"error":"List is not an ACCOUNT type list."}

ENUMs

Field Value Meaning
developer_activity HIGH activity_score_numeric 60–100. Strong engagement, high activity levels
developer_activity MEDIUM activity_score_numeric 20–60. Moderate engagement, requires nurturing
developer_activity LOW activity_score_numeric 0–20. Minimal activity, potential drop-off risk
developer_activity "" (empty) No developer activity recorded for the account
customer_fit STRONG Strong match to your ideal customer profile
customer_fit MODERATE Partial match to your ideal customer profile
customer_fit WEAK Weak match to your ideal customer profile
employee_count_range 1-10, 11-50, 51-250, 251-1K, 1K-5K, 5K-10K, 10K-50K, 50K-100K, 100K+ Company headcount band
agent_data Dynamic All the AI columns generated via agents corresponding to the accounts within the list will be available in this field
user_input Dynamic All the columns imported during List Upload or CRM Upload corresponding to the accounts within the list will be available in this field

Things to Note

  • id is the account ID. It is the same value as orgId in reo_account_link and account_id in Get Account Activities and Get Deanonymised Developers.
  • A page past the last one returns 200 with "data": [] (an empty array, unlike segment APIs which return null) and page_size 0. Example: {"data":[],"page_no":99999,"page_size":0,"total_pages":10}.
  • Unlike segment APIs, an invalid page returns 400 here instead of falling back to page 1.
  • Accounts with no activity return developer_activity as "", first_activity / latest_activity as 0, and empty activity dates.
  • first_activity and latest_activity are epoch milliseconds. tags and agent_tags are comma-separated strings. tech_stack is an array.
path Parameters
list_id
required
string <uuid>
Example: 4b9e1d7c-2a6f-4c3e-9d8b-5f1a7c3e0d26

ID of an ACCOUNT-type list, from List of "Lists".

query Parameters
page
integer >= 1
Default: 1
Example: page=1

Page number. Defaults to 1. Must be a positive integer.

header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url 'https://integration.reo.dev/list/4b9e1d7c-2a6f-4c3e-9d8b-5f1a7c3e0d26/accounts?page=1' \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page_no": 1,
  • "page_size": 100,
  • "total_pages": 10
}

Get Developers in a List

Overview

Returns the set of developers present in a specific List, with the same enrichment metadata returned by Get Developers in a Segment. Use the list ID from List of "Lists" to scope this call.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

Name Type Required Description
list_id string (UUID) Yes ID of a DEVELOPER-type list, from List of "Lists"

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty · page isn't a positive integer (for example page=abc) Missing key: {"error":"Missing API Key"} · Bad page: {"error":"page must be a positive integer, got \"abc\""}
403 Invalid API key, or a write API key used on this host · List ID doesn't exist or is malformed · List isn't DEVELOPER type Bad key: {"error":"Invalid API Key."} · Unknown or malformed list: {"error":"Invalid List Id."} · Wrong-type list: {"error":"List is not a DEVELOPER type list."}

ENUMs

Field Value Meaning
activity_score HIGH activity_score_numeric 60–100. Strong engagement, high activity levels
activity_score MEDIUM activity_score_numeric 20–60. Moderate engagement, requires nurturing
activity_score LOW activity_score_numeric 0–20. Minimal activity, potential drop-off risk
seniority Entry Level, Architect, Director, VP, CXO, Founder Seniority of the developer's current role
employee_count_range 1-10, 11-50, 51-250, 251-1K, 1K-5K, 5K-10K, 10K-50K, 50K-100K, 100K+ Headcount band of the developer's company

Things to Note

  • id is the developer ID. Pass it as developer_id to Get Developer Activities. org_id is the account ID of the developer's company.
  • An invalid page returns 400 here instead of falling back to page 1.
  • latest_activity_time and first_activity are epoch milliseconds. tags and agent_tags are comma-separated strings.
path Parameters
list_id
required
string <uuid>
Example: 5c0f2e8d-3b7a-4d4f-ae9c-6a2b8d4f1e37

ID of a DEVELOPER-type list, from List of "Lists".

query Parameters
page
integer >= 1
Default: 1
Example: page=1

Page number. Defaults to 1. Must be a positive integer.

header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url 'https://integration.reo.dev/list/5c0f2e8d-3b7a-4d4f-ae9c-6a2b8d4f1e37/developers?page=1' \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page_no": 1,
  • "page_size": 100,
  • "total_pages": 13
}

Account Details

Look up a single account and the deanonymised developers at it.

Get Deanonymised Developers

Overview

Returns all deanonymized developers present in an account, along with contact and profile metadata (LinkedIn, GitHub, business email, location, designation, activity score).

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

Name Type Required Description
account_id string (UUID) Yes Account ID (id from the account APIs)

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty · page isn't a positive integer (page=abc, page=0) Missing key: {"error":"Missing API Key"} · Bad page: {"error":"page must be a positive integer, got \"abc\""}
403 Invalid API key, or a write API key used on this host · Account ID doesn't exist Bad key: {"error":"Invalid API Key."} · Unknown account: {"error":"Invalid Account Id."}

ENUMs

Field Value Meaning
activity_score HIGH activity_score_numeric 60–100. Strong engagement, high activity levels
activity_score MEDIUM activity_score_numeric 20–60. Moderate engagement, requires nurturing
activity_score LOW activity_score_numeric 0–20. Minimal activity, potential drop-off risk
seniority Entry Level, Architect, Director, VP, CXO, Founder Seniority of the developer's current role
employee_count_range 1-10, 11-50, 51-250, 251-1K, 1K-5K, 5K-10K, 10K-50K, 50K-100K, 100K+ Headcount band of the developer's company

Things to Note

  • id is the developer ID. Pass it as developer_id to Get Developer Activities. org_id matches the account_id you called with.
  • Pagination fields are page_no, page_size and total_pages. An invalid page returns 400.
  • first_activity and latest_activity_time are epoch milliseconds. tags and agent_tags are comma-separated strings.
path Parameters
account_id
required
string <uuid>
Example: 1a9f5c3e-7b2d-4e8a-a4c6-0d8f2b6e4a19

Account ID (id from the account APIs).

query Parameters
page
integer >= 1
Default: 1
Example: page=1

Page number. Defaults to 1. Must be a positive integer.

header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url 'https://integration.reo.dev/account/1a9f5c3e-7b2d-4e8a-a4c6-0d8f2b6e4a19/developers?page=1' \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page_no": 1,
  • "page_size": 66,
  • "total_pages": 1
}

Get Account Basics

Overview

Returns detailed profile fields for a single account, without needing a segment ID. Identify the account by either org_id or domain.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

None.

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty · Neither org_id nor domain sent, or domain= is empty · No account matches the domain · org_id is unknown or malformed Missing key: {"error":"Missing API Key"} · No identifier: {"error":"Either domain or org_id query param is required."} · Unknown domain: {"error":"No account matches the given identifier."} · Bad org_id: {"error":"Invalid Account Id."}
403 Invalid API key, or a write API key used on this host {"error":"Invalid API Key."}

ENUMs

Field Value Meaning
developer_activity HIGH activity_score_numeric 60–100. Strong engagement, high activity levels
developer_activity MEDIUM activity_score_numeric 20–60. Moderate engagement, requires nurturing
developer_activity LOW activity_score_numeric 0–20. Minimal activity, potential drop-off risk
developer_activity "" (empty) No developer activity recorded for the account
customer_fit STRONG Strong match to your ideal customer profile
customer_fit MODERATE Partial match to your ideal customer profile
customer_fit WEAK Weak match to your ideal customer profile
employee_count_range 1-10, 11-50, 51-250, 251-1K, 1K-5K, 5K-10K, 10K-50K, 50K-100K, 100K+ Company headcount band

Things to Note

  • data is a single object, not an array.
  • If both org_id and domain are sent, the call returns 200 and the account is resolved by org_id.
  • An identifier that matches no account returns 400, not 404.
  • id is the account ID.
  • Every funding value is a string, never a number. An empty value can come back as "" or as the literal string "null".
  • first_activity and latest_activity are epoch milliseconds. tags and agent_tags are comma-separated strings.
query Parameters
org_id
string <uuid>
Example: org_id=1a9f5c3e-7b2d-4e8a-a4c6-0d8f2b6e4a19

Account ID. Required: One of org_id / domain.

domain
string
Example: domain=reo.dev

Core domain of the account, for example reo.dev. Required: One of org_id / domain.

header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url 'https://integration.reo.dev/account/details?domain=reo.dev' \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": {
    }
}

Activities

Get activity timelines for accounts and developers, and the valid activity sources and types to filter them by.

Get Activity Types

Overview

Master API to refer activity_type and activity_source. Returns every valid activity source and the activity types allowed for each, for use as filters in Get Account Activities and Get Developer Activities.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

None.

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty {"error":"Missing API Key"}
403 Invalid API key, or a write API key used on this host {"error":"Invalid API Key."}

ENUMs

Field Value Meaning
activity_source GITHUB GitHub
activity_source DOCUMENT Documentation
activity_source WEBSITE Website
activity_source PRODUCT_JS Product (JS tracking)
activity_source CODE_INTERACTIONS Code interactions
activity_source SLACK Slack
activity_source LINKEDIN LinkedIn
activity_source PRODUCT_API Product API (usage sent through the Add Telemetry Data and Add Custom Product Data APIs)
activity_type (GITHUB) FORK Forked repository
activity_type (GITHUB) STAR Starred repository
activity_type (GITHUB) COMMENT Commented
activity_type (GITHUB) ISSUE_CREATION Created an issue
activity_type (GITHUB) PULL_REQUEST Opened a pull request
activity_type (GITHUB) WATCH Watched repository

Things to Note

  • The sample shows one source. The live response returns an entry for each source above, each with its own activity_types.
  • This endpoint returns request_id in the body as well as in the X-Request-Id header.
  • Error messages in Get Account Activities and Get Developer Activities refer to GET /v1/activity-types. Use /activities/types.
header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url https://integration.reo.dev/activities/types \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "request_id": "string"
}

Get Developer Activities

Overview

Returns all activities performed by a specific developer. Supports filtering by activity type and activity source.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

Name Type Required Description
developer_id string (UUID) Yes Developer ID (id from the developer APIs, or developer_id from Get Account Activities)

Filters (Query Parameters)

Narrow the activities returned by source, or by source and type together.

Name Type Required Description
activity_source string No. Required when activity_type is set Filter by activity source
activity_type string No Filter by activity type. Must be valid for the activity_source sent

How the filters work

  • Filter by source only: ?activity_source=GITHUB returns every GitHub activity.
  • Filter by source and type: ?activity_source=GITHUB&activity_type=STAR returns only GitHub stars.
  • activity_type can't be sent on its own. It must come with activity_source, and it must be valid for that source, or the call returns 400.
  • Valid activity_source values: GITHUB, DOCUMENT, WEBSITE, PRODUCT_JS, CODE_INTERACTIONS, SLACK, LINKEDIN, PRODUCT_API.
  • For the activity_type values allowed under each source, call Get Activity Types (GET https://integration.reo.dev/activities/types).
  • No filters returns all activities.
GET https://integration.reo.dev/developer/<developer_id>/activities?activity_source=GITHUB&activity_type=PULL_REQUEST

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty · activity_type sent without activity_source · Unknown activity_source · activity_type not valid for the activity_source sent Missing key: {"error":"Missing API Key"} · Type without source: {"error":"activity_source is required when activity_type is set; see GET /v1/activity-types for valid pairs"} · Unknown source: {"error":"unknown activity_source \"FOOBAR\"; see GET /v1/activity-types for valid values"} · Invalid pair: {"error":"activity_type \"PAGE_VISIT\" is not valid for activity_source \"GITHUB\"; see GET /v1/activity-types for valid pairs"}
403 Invalid API key, or a write API key used on this host · Developer ID doesn't exist Bad key: {"error":"Invalid API Key."} · Unknown developer: {"error":"Invalid Developer Id."}

ENUMs

Field Value Meaning
activity_source GITHUB GitHub
activity_source DOCUMENT Documentation
activity_source WEBSITE Website
activity_source PRODUCT_JS Product (JS tracking)
activity_source CODE_INTERACTIONS Code interactions
activity_source SLACK Slack
activity_source LINKEDIN LinkedIn
activity_source PRODUCT_API Product API (usage sent through the Add Telemetry Data and Add Custom Product Data APIs)
activity_type (GITHUB) FORK Forked repository
activity_type (GITHUB) STAR Starred repository
activity_type (GITHUB) COMMENT Commented
activity_type (GITHUB) ISSUE_CREATION Created an issue
activity_type (GITHUB) PULL_REQUEST Opened a pull request
activity_type (GITHUB) WATCH Watched repository

Things to Note

  • Valid activity_type values depend on the activity_source. Call Get Activity Types for the full list of valid pairs.
  • Error messages point to GET /v1/activity-types. The live endpoint is GET https://integration.reo.dev/activities/types.
  • Response envelope is data and has_more. There is no page_no, page_size or total_pages.
  • Fields differ from Get Account Activities: there's no actor, developer_id, developer_linkedin or count, and there are account_name, source_type and source_url.
  • Several fields can be null (account_name, copied_text, developer_designation, country, source_type). Handle nulls on every field.
  • activity_date is YYYY-MM-DD.
path Parameters
developer_id
required
string <uuid>
Example: d3f7a1c5-8b2e-4d6a-9c0f-1e5b7a3d9c22

Developer ID (id from the developer APIs, or developer_id from Get Account Activities).

query Parameters
activity_source
string
Enum: "GITHUB" "DOCUMENT" "WEBSITE" "PRODUCT_JS" "CODE_INTERACTIONS" "SLACK" "LINKEDIN" "PRODUCT_API"
Example: activity_source=GITHUB

Filter by activity source. Required: No. Required when activity_type is set.

activity_type
string
Example: activity_type=COMMENT

Filter by activity type. Must be valid for the activity_source sent.

header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url 'https://integration.reo.dev/developer/d3f7a1c5-8b2e-4d6a-9c0f-1e5b7a3d9c22/activities' \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{}

Get Account Activities

Overview

Returns all activities recorded for a given account, including which developer performed each activity. Supports filtering by activity type and activity source.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

Name Type Required Description
account_id string (UUID) Yes Account ID (id from the account APIs)

Filters (Query Parameters)

Narrow the activities returned by source, or by source and type together.

Name Type Required Description
activity_source string No. Required when activity_type is set Filter by activity source
activity_type string No Filter by activity type. Must be valid for the activity_source sent

How the filters work

  • Filter by source only: ?activity_source=GITHUB returns every GitHub activity.
  • Filter by source and type: ?activity_source=GITHUB&activity_type=STAR returns only GitHub stars.
  • activity_type can't be sent on its own. It must come with activity_source, and it must be valid for that source, or the call returns 400.
  • Valid activity_source values: GITHUB, DOCUMENT, WEBSITE, PRODUCT_JS, CODE_INTERACTIONS, SLACK, LINKEDIN, PRODUCT_API.
  • For the activity_type values allowed under each source, call Get Activity Types (GET https://integration.reo.dev/activities/types).
  • No filters returns all activities.
GET https://integration.reo.dev/account/<account_id>/activities?activity_source=GITHUB&activity_type=PULL_REQUEST

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty · activity_type sent without activity_source · Unknown activity_source · activity_type not valid for the activity_source sent Missing key: {"error":"Missing API Key"} · Type without source: {"error":"activity_source is required when activity_type is set; see GET /v1/activity-types for valid pairs"} · Unknown source: {"error":"unknown activity_source \"FOOBAR\"; see GET /v1/activity-types for valid values"} · Invalid pair: {"error":"activity_type \"PAGE_VISIT\" is not valid for activity_source \"GITHUB\"; see GET /v1/activity-types for valid pairs"}
403 Invalid API key, or a write API key used on this host · Account ID doesn't exist Bad key: {"error":"Invalid API Key."} · Unknown account: {"error":"Invalid Account Id."}

ENUMs

Field Value Meaning
activity_source GITHUB GitHub
activity_source DOCUMENT Documentation
activity_source WEBSITE Website
activity_source PRODUCT_JS Product (JS tracking)
activity_source CODE_INTERACTIONS Code interactions
activity_source SLACK Slack
activity_source LINKEDIN LinkedIn
activity_source PRODUCT_API Product API (usage sent through the Add Telemetry Data and Add Custom Product Data APIs)
activity_type (GITHUB) FORK Forked repository
activity_type (GITHUB) STAR Starred repository
activity_type (GITHUB) COMMENT Commented
activity_type (GITHUB) ISSUE_CREATION Created an issue
activity_type (GITHUB) PULL_REQUEST Opened a pull request
activity_type (GITHUB) WATCH Watched repository

Things to Note

  • Valid activity_type values depend on the activity_source. Call Get Activity Types for the full list of valid pairs.
  • Response envelope is data and has_more. There is no page_no, page_size or total_pages.
  • has_more: true means more activities exist beyond this response.
  • developer_id is the ID of the developer who did the activity. Use it with Get Developer Activities.
  • copied_text is null unless the activity copied text. activity_date is YYYY-MM-DD. count is the number of times the activity happened.
path Parameters
account_id
required
string <uuid>
Example: 1a9f5c3e-7b2d-4e8a-a4c6-0d8f2b6e4a19

Account ID (id from the account APIs).

query Parameters
activity_source
string
Enum: "GITHUB" "DOCUMENT" "WEBSITE" "PRODUCT_JS" "CODE_INTERACTIONS" "SLACK" "LINKEDIN" "PRODUCT_API"
Example: activity_source=GITHUB

Filter by activity source. Required: No. Required when activity_type is set.

activity_type
string
Example: activity_type=COMMENT

Filter by activity type. Must be valid for the activity_source sent.

header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url 'https://integration.reo.dev/account/1a9f5c3e-7b2d-4e8a-a4c6-0d8f2b6e4a19/activities?activity_source=GITHUB' \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "has_more": true
}

Audiences

Read the buyer audiences in your workspace and the buyers inside each one.

Get List of Audiences

Overview

Returns all Buyer Audiences created in your Reo workspace. Use the audience ID from here to query Get Buyers in an Audience.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

None.

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty {"error":"Missing API Key"}
403 Invalid API key, or a write API key used on this host {"error":"Invalid API Key."}

ENUMs

Field Value Meaning
source SEGMENT Audience built from a segment. source_id is that segment's ID
source LIST Audience built from a list. source_id is that list's ID
source COMPANY_AUDIENCE Audience built from a company audience
type BUYER Audience of buyers

Things to Note

  • id is the audience ID. Pass it as audience_id to Get Buyers in an Audience.
  • request_id isn't in the body. It comes back as the X-Request-Id response header.
  • count is the number of buyers in the audience. created_by is the email of the user who created it.
  • verified_only, auto_refresh are booleans. limit, count and credits_consumed are integers.
  • last_synced_at, created_at and updated_at are ISO 8601 timestamps in UTC.
header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url https://integration.reo.dev/audiences \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Buyers in an Audience

Overview

Returns all Buyers present within a specific Buyer Audience. Use the audience ID from Get List of Audiences to scope this call.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Path Parameters

Name Type Required Description
audience_id string (UUID) Yes ID of the audience, from Get List of Audiences

Errors

Code When it happens Response body
400 X-API-KEY header missing or empty · page isn't a positive integer (page=abc, page=0) Missing key: {"error":"Missing API Key"} · Bad page: {"error":"page must be a positive integer, got \"abc\""}
403 Invalid API key, or a write API key used on this host · Audience ID doesn't exist Bad key: {"error":"Invalid API Key."} · Unknown audience: {"error":"Invalid Audience Id."}

ENUMs

Field Value Meaning
type BUYER Record is a buyer
source REODB Buyer record comes from Reo's database
seniority Entry Level, Architect, Director, VP, CXO, Founder, or "" (empty) Seniority of the buyer's current role. Empty when unknown
email_verified true, false Whether the buyer's email is verified
isCrmSynced true, false Whether the buyer has been synced to your CRM

Things to Note

  • A page past the last one returns 200 with "data": [] and page_size 100. Example: {"data":[],"page_no":99999,"page_size":100,"total_pages":3}.
  • reo_dev_id is the buyer's Reo person ID. org_id is the account ID of their company.
  • isCrmSynced and crmLastSyncedTime use camelCase. Every other field uses snake_case.
  • crmLastSyncedTime is an ISO 8601 timestamp in UTC. current_position_start_date is 0 when unknown.
  • tech_skills is an array of strings.
path Parameters
audience_id
required
string <uuid>
Example: 8d2a6f0c-4e9b-4a1d-b7c3-9e5f1a3d7b62

ID of the audience, from Get List of Audiences.

query Parameters
page
integer >= 1
Default: 1
Example: page=1

Page number. Defaults to 1. Must be a positive integer.

header Parameters
X-API-KEY
required
string
Example: <your-read-api-key>

Your Read API key. Find it under Settings → Configurations → API Keys → Product Export & Zapier Integration.

Responses

Request samples

curl --request GET \
  --url 'https://integration.reo.dev/audiences/8d2a6f0c-4e9b-4a1d-b7c3-9e5f1a3d7b62/members?page=1' \
  --header 'X-API-KEY: <your-read-api-key>'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page_no": 1,
  • "page_size": 100,
  • "total_pages": 3
}

Lists

Create lists and add accounts or developers to them.

Create a List

Overview

This API endpoint creates a new list for adding accounts or developers. You will get a list ID in the response which you can use to add accounts or developers to the list based on the type of the list you created.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.
user string Yes Email of the Reo workspace user making the call
Content-Type string Yes application/json

Path Parameters

None.

Errors

Code When it happens Response body
400 type missing · type invalid (including BUYER) · user header missing Missing type: {"type":"about:blank","title":"Bad Request","status":400,"detail":"Please add entity type in the Form","instance":"/api/product/list"} · Invalid type: {"title":"Bad Request","status":400,"detail":"Cannot deserialize value of type ..."} · Missing user header: {"timestamp":"...","status":400,"error":"Bad Request","path":"/api/product/list"} (no detail field)
401 API key missing, or a read API key used on this host Empty body
500 name missing or empty · A list with the same name already exists {"timestamp":"...","status":500,"error":"Internal Server Error","path":"/api/product/list"}

ENUMs

Field Value Meaning
type ACCOUNT List of accounts. Add domains to it with Add to a List
type DEVELOPER List of developers. Add emails, LinkedIn or GitHub IDs to it with Add to a List
mapping.fieldType String Column holds text values

Things to Note

  • Store the returned id. It is the list_id for Add to a List and Get Accounts / Developers in a List.
  • The response may not match what was stored. It can return description: null and enriched: false even when the stored list has a description and is enriched. Read it back with List of "Lists" to confirm.
  • The returned name can have its first letter capitalized.
  • Lists created here show up in List of "Lists" with source: "API".
header Parameters
X-API-KEY
required
string
Example: <your-write-api-key>

Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.

user
required
string
Example: jane.doe@reo.dev

Email of the Reo workspace user making the call.

Request Body schema: application/json
required
name
required
string

Name of the list. Must be unique.

type
required
string
Enum: "ACCOUNT" "DEVELOPER"

ACCOUNT or DEVELOPER.

  • ACCOUNT: List of accounts. Add domains to it with Add to a List
  • DEVELOPER: List of developers. Add emails, LinkedIn or GitHub IDs to it with Add to a List
primaryKey
string

Column that holds the identifier, for example domain. For ACCOUNT lists this is the domain column; for DEVELOPER lists it is the email, GitHub or LinkedIn column.

description
string

What the list is for.

Array of objects

Columns in the list. Each item has clientKey (column name) and fieldType (for example String). Documented as required, but not enforced.

Responses

Request samples

Content type
application/json
{
  • "name": "Q4 Target Accounts",
  • "description": "Accounts for the Q4 outbound campaign",
  • "type": "ACCOUNT",
  • "primaryKey": "domain",
  • "mapping": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "3e7a1c9f-5b2d-4f6e-8a0c-2d4f6b8e0a35",
  • "name": "Q4 Target Accounts",
  • "type": "ACCOUNT",
  • "description": null,
  • "enriched": false
}

Add to a List

Overview

Adds accounts, developers to an existing List. Identifiers must match the list's type: domains or org_ids for ACCOUNT-type lists; emails, LinkedIn or GitHub IDs for DEVELOPER-type lists. Use the list ID from List of "Lists" or from Create a List.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.
user string Yes Email of the Reo workspace user making the call
Content-Type string Yes application/json

Path Parameters

Name Type Required Description
list_id string (UUID) Yes ID of the list to add records to

Errors

Code When it happens Response body
400 type value invalid · list_id malformed (not a UUID) · user header missing Invalid type: {"title":"Bad Request","status":400,"detail":"Cannot deserialize value of type ..."} · Malformed list_id: {"timestamp":"...","status":400,"error":"Bad Request","path":"/api/product/list/notauuid"} · Missing user header: empty body
401 API key missing, or a read API key used on this host Empty body
500 list_id doesn't exist · entities is an empty array · entities key missing · type missing · Empty body {} · type doesn't match the list (for example DEVELOPER on an ACCOUNT list) {"timestamp":"...","status":500,"error":"Internal Server Error"}

ENUMs

Field Value Meaning
type ACCOUNT Adding accounts. Identifiers are domains
type DEVELOPER Adding developers. Identifiers are emails, LinkedIn or GitHub IDs
entities[].fieldType String Identifier is a text value
enrich true, false Whether Reo enriches the added records

Things to Note

  • The method is PUT and the path is /api/product/list/{list_id}.
  • enrich: true consumes credits.
  • You can add up to 1,000 records per call.
  • enrich only applies to ACCOUNT lists. Accounts are enriched only when enrich is true and the list itself has enrichment on.
path Parameters
list_id
required
string <uuid>
Example: 3e7a1c9f-5b2d-4f6e-8a0c-2d4f6b8e0a35

ID of the list to add records to.

header Parameters
X-API-KEY
required
string
Example: <your-write-api-key>

Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.

user
required
string
Example: jane.doe@reo.dev

Email of the Reo workspace user making the call.

Request Body schema: application/json
required
required
Array of objects [ 1 .. 1000 ] items

Records to add. Up to 1,000 records per call.

type
required
string
Enum: "ACCOUNT" "DEVELOPER"

ACCOUNT or DEVELOPER. Must match the list's type.

  • ACCOUNT: Adding accounts. Identifiers are domains
  • DEVELOPER: Adding developers. Identifiers are emails, LinkedIn or GitHub IDs
enrich
boolean

Only applies to ACCOUNT lists. true: if the list has enrichment on, the added accounts go through enrichment (consumes credits). false: accounts aren't enriched, regardless of the list's setting.

Responses

Request samples

Content type
application/json
{
  • "entities": [
    ],
  • "type": "ACCOUNT",
  • "enrich": false
}

Response samples

Content type
application/json
{
  • "message": "Successful",
  • "data": null
}

Ingest Data

Send telemetry and custom product usage data into Reo. Events show up in Get Account Activities and Get Developer Activities under the PRODUCT_API source.

Add Telemetry Data - Single Event

Overview

Sends one product usage or call-home event to Reo. Reo resolves the IP or domain to a company and, if a user ID is sent, rolls usage up at the developer level before mapping it to their account. Events sent here show up in Get Account Activities and Get Developer Activities under the PRODUCT_API source.

Use your Write API key (Settings → Configurations → API Keys → Product Usage API). Only Admins can see API keys.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.
Content-Type string Yes application/json

Path Parameters

None.

Errors

Code When it happens Response body
400 API key wrong or missing {"response_code":400,"response":"Authentication Failure","status":"failure"}
500 Body not wrapped in a payload object {"timestamp":"...","status":500,"error":"Internal Server Error","path":"/api/product/usage"}

ENUMs

Field Value Meaning
source TELEMETRY Telemetry or call-home event
user_id_type EMAIL user_id is an email
user_id_type SOCIAL user_id is a social profile ID
user_id_type LINKEDIN user_id is a LinkedIn profile
user_id_type GITHUB user_id is a GitHub profile
user_id_type USERNAME user_id is a username

Things to Note

  • Uses the same endpoint as Add Custom Product Data. The only difference is source: "TELEMETRY".
  • No user header is needed.
  • Use your Write API key, not the Read API key.
  • activity_type must match a metric configured in Product Usage Settings, or Reo won't process the event.
  • For telemetry, TELEMETRY is the only accepted source.
header Parameters
X-API-KEY
required
string
Example: <your-write-api-key>

Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.

Request Body schema: application/json
required
required
object

Wrapper object. Every field sits inside it.

Responses

Request samples

Content type
application/json
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{
  • "response_code": "200",
  • "response": "Data Uploaded",
  • "status": "success"
}

Add Telemetry Data - Aggregate Event

Overview

Sends a pre-aggregated usage count (e.g. 1,250 events) for one IP or domain. There's no user ID, so Reo maps usage at the domain level and then to the company. Use this for anonymous telemetry where you only have counts.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.
Content-Type string Yes application/json

Path Parameters

None.

Errors

Code When it happens Response body
400 API key wrong or missing {"response_code":400,"response":"Authentication Failure","status":"failure"}

ENUMs

Field Value Meaning
mode DOMAIN Count is for a whole IP or domain. Reo maps it to the Account
source TELEMETRY Telemetry event data

Things to Note

  • Use Single Events when you send one event at a time. Use this API when you only have pre-counted totals.
  • Only DOMAIN mode is supported for telemetry. USER mode is for Add Custom Product Data only.
  • There are no user_id or user_id_type fields. Send either ip_addr or domain.
  • No user header is needed. Use your Write API key, not the Read API key.
  • activity_type must match a metric configured in Product Usage Settings, or Reo won't process the data.
header Parameters
X-API-KEY
required
string
Example: <your-write-api-key>

Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.

Request Body schema: application/json
required
required
object

Wrapper object. Every field sits inside it.

Responses

Request samples

Content type
application/json
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{
  • "response_code": "200",
  • "response": "Data Uploaded",
  • "status": "success"
}

Add Custom Product Data - Single Event

Overview

Sends one product usage event from your cloud product for a known user (email, GitHub, LinkedIn, social or username). Reo enriches the user, aggregates their usage at the developer level, and maps it to their company.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.
Content-Type string Yes application/json

Path Parameters

None.

Errors

Code When it happens Response body
400 API key wrong or missing {"response_code":400,"response":"Authentication Failure","status":"failure"}

ENUMs

Field Value Meaning
source PRODUCT_CLOUD Usage event from your cloud product
user_id_type EMAIL user_id is an email
user_id_type SOCIAL user_id is a social profile ID
user_id_type LINKEDIN user_id is a LinkedIn profile
user_id_type GITHUB user_id is a GitHub profile
user_id_type USERNAME user_id is a username

Things to Note

  • Uses the same endpoint as Add Telemetry Data. The only difference is source: "PRODUCT_CLOUD".
  • Use your Write API key, not the Read API key.
  • activity_type must match a custom metric configured in Product Usage Settings, or Reo won't process the event.
header Parameters
X-API-KEY
required
string
Example: <your-write-api-key>

Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.

Request Body schema: application/json
required
required
object

Wrapper object. Every field sits inside it.

Responses

Request samples

Content type
application/json
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{
  • "response_code": "200",
  • "response": "Data Uploaded",
  • "status": "success"
}

Add Custom Product Data - Aggregate Event

Overview

Sends a pre-aggregated usage count from your cloud product. Two modes: DOMAIN aggregates usage at the company level, USER aggregates it at the individual user level.

Header Parameters

Name Type Required Description
X-API-KEY string Yes Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.
Content-Type string Yes application/json

Path Parameters

None.

Errors

Code When it happens Response body
400 API key wrong or missing · mode isn't DOMAIN or USER Bad key: {"response_code":400,"response":"Authentication Failure","status":"failure"} · Invalid mode: {"response_code":400,"response":"Invalid mode. Supported modes: DOMAIN, USER","status":"failure"}

ENUMs

Field Value Meaning
mode DOMAIN Count is for a whole company. Reo maps it to the Account
mode USER Count is for one user. Reo maps it to the Developer, then the Account
source PRODUCT_CLOUD Usage event from your cloud product
user_id_type EMAIL user_id is an email
user_id_type SOCIAL user_id is a social profile ID
user_id_type LINKEDIN user_id is a LinkedIn profile
user_id_type GITHUB user_id is a GitHub profile
user_id_type USERNAME user_id is a username

Things to Note

  • Use Single Events when you send one event at a time. Use this API when you already have a pre-counted total.
  • In DOMAIN mode, send user_id and user_id_type as empty strings and fill domain. In USER mode, fill user_id and user_id_type.
  • No user header is needed. Use your Write API key, not the Read API key.
  • activity_type must match a custom metric configured in Product Usage Settings, or Reo won't process the data.
header Parameters
X-API-KEY
required
string
Example: <your-write-api-key>

Your Write API key. Find it under Settings → Configurations → API Keys → Product Usage API.

Request Body schema: application/json
required
required
object

Wrapper object. Every field sits inside it.

Responses

Request samples

Content type
application/json
Example
{
  • "payload": {
    }
}

Response samples

Content type
application/json
{
  • "response_code": "200",
  • "response": "Aggregated Data Uploaded",
  • "status": "success"
}

Coming soon

Coming soon. Enrichment APIs give you open data from across Reo's dataset, not limited to the segments, lists and audiences in your workspace. They are chargeable, unlike Workspace APIs, which are free and included in the default plan.