ModernLoop Internal API
Apipylon

Get a Pylon contact by ID (GET /contacts/{id})

Read operation: does not mutate upstream state.

curl -X GET "https://api.modernloop.dev/rest/v1/pylon/contacts/string" \  -H "Authorization: Bearer $MLOOP_INTERNAL_MCP_API_KEY"
{  "data": {    "id": "string",    "name": "string",    "email": "string",    "emails": [      "string"    ],    "avatar_url": "string",    "phone_numbers": [      "string"    ],    "primary_phone_number": "string",    "portal_role": "no_access",    "portal_role_id": "string",    "account": {      "id": "string",      "external_ids": [        {          "external_id": "string",          "label": "string"        }      ]    },    "external_ids": [      {        "external_id": "string",        "label": "string"      }    ],    "integration_user_ids": [      {        "id": "string",        "source": "string"      }    ],    "custom_fields": {      "property1": {        "slug": "string",        "value": "string",        "values": [          "string"        ]      },      "property2": {        "slug": "string",        "value": "string",        "values": [          "string"        ]      }    }  },  "request_id": "string"}
{  "error": {    "code": "string",    "message": "string",    "upstreamStatus": 0  }}
{  "error": {    "code": "string",    "message": "string",    "upstreamStatus": 0  }}
{  "error": {    "code": "string",    "message": "string",    "upstreamStatus": 0  }}
{  "error": {    "code": "string",    "message": "string",    "upstreamStatus": 0  }}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Resource UUID or external identifier

Query Parameters

limit?integer

Page size (Pylon default 100, max 1000 where supported)

Range1 <= value <= 1000
cursor?string

Pagination cursor for the next page

Response Body

application/json

application/json

application/json

application/json

application/json