Contacts

get

Get all contacts

Authorizations
Responses
200Success
application/json
get
GET /contacts HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": [
    {
      "account": {
        "id": "text"
      },
      "avatar_url": "text",
      "custom_fields": {
        "ANY_ADDITIONAL_PROPERTY": {
          "slug": "text",
          "value": "text",
          "values": [
            "text"
          ]
        }
      },
      "email": "text",
      "emails": [
        "text"
      ],
      "id": "text",
      "name": "text",
      "portal_role": "no_access"
    }
  ],
  "pagination": {
    "cursor": "text",
    "has_next_page": true
  },
  "request_id": "text"
}
post

Create a new contact

Authorizations
Body
account_idstringOptional

The account that this contact belongs to.

avatar_urlstringOptional

The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.

emailstringRequired

The email of the contact.

namestringRequired

The name of the contact.

portal_rolestring · enumOptional

The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.

  • no_access PortalRoleNoAccess

  • member PortalRoleMember

  • admin PortalRoleAdmin

Possible values:
Responses
200Success
application/json
post
POST /contacts HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 163

{
  "account_id": "text",
  "avatar_url": "text",
  "custom_fields": [
    {
      "slug": "text",
      "value": "text",
      "values": [
        "text"
      ]
    }
  ],
  "email": "text",
  "name": "text",
  "portal_role": "no_access"
}
{
  "data": {
    "account": {
      "id": "text"
    },
    "avatar_url": "text",
    "custom_fields": {
      "ANY_ADDITIONAL_PROPERTY": {
        "slug": "text",
        "value": "text",
        "values": [
          "text"
        ]
      }
    },
    "email": "text",
    "emails": [
      "text"
    ],
    "id": "text",
    "name": "text",
    "portal_role": "no_access"
  },
  "request_id": "text"
}
get

Get a contact by its ID

Authorizations
Path parameters
idstringRequired

The ID of the contact.

Query parameters
cursorstringOptional

The cursor to use for pagination.

limitinteger · int64Required

The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.

Responses
200Success
application/json
get
GET /contacts/{id} HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": {
    "account": {
      "id": "text"
    },
    "avatar_url": "text",
    "custom_fields": {
      "ANY_ADDITIONAL_PROPERTY": {
        "slug": "text",
        "value": "text",
        "values": [
          "text"
        ]
      }
    },
    "email": "text",
    "emails": [
      "text"
    ],
    "id": "text",
    "name": "text",
    "portal_role": "no_access"
  },
  "request_id": "text"
}
patch

Update an existing contact

Authorizations
Path parameters
idstringRequired

The ID of the contact to update.

Body
account_idstringOptional

The account to move the contact to.

avatar_urlstringOptional

The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.

emailstringOptional

The email of the contact.

namestringOptional

in: body

The name of the contact.

portal_rolestring · enumOptional

The portal role to assign to the contact. Can be one of no_access, member, or admin.

  • no_access PortalRoleNoAccess

  • member PortalRoleMember

  • admin PortalRoleAdmin

Possible values:
Responses
200Success
application/json
patch
PATCH /contacts/{id} HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 163

{
  "account_id": "text",
  "avatar_url": "text",
  "custom_fields": [
    {
      "slug": "text",
      "value": "text",
      "values": [
        "text"
      ]
    }
  ],
  "email": "text",
  "name": "text",
  "portal_role": "no_access"
}
{
  "data": {
    "account": {
      "id": "text"
    },
    "avatar_url": "text",
    "custom_fields": {
      "ANY_ADDITIONAL_PROPERTY": {
        "slug": "text",
        "value": "text",
        "values": [
          "text"
        ]
      }
    },
    "email": "text",
    "emails": [
      "text"
    ],
    "id": "text",
    "name": "text",
    "portal_role": "no_access"
  },
  "request_id": "text"
}
delete

Delete an existing contact

Authorizations
Path parameters
idstringRequired

The ID of the contact to delete.

Responses
200Success
application/json
delete
DELETE /contacts/{id} HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success
{
  "request_id": "text"
}

Search for contacts by a given filter

post

Currently, the following fields are filterable for contacts:

  • id. Allowed operators: equals, in, not_in

  • email. Allowed operators: equals, in, not_in, string_contains

  • custom fields (pass in the slug of the custom field)

  • account_id. Allowed operators: equals, in, not_in

Authorizations
Body
cursorstringOptional

The cursor to use for pagination.

limitinteger · int64Optional

The number of contacts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.

Responses
200Success
application/json
post
POST /contacts/search HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 312

{
  "cursor": "text",
  "filter": {
    "field": "text",
    "operator": "equals",
    "subfilters": [
      {
        "field": "text",
        "operator": "equals",
        "subfilters": [
          {
            "field": "text",
            "operator": "equals",
            "subfilters": "[Circular Reference]",
            "value": "text",
            "values": [
              "text"
            ]
          }
        ],
        "value": "text",
        "values": [
          "text"
        ]
      }
    ],
    "value": "text",
    "values": [
      "text"
    ]
  },
  "limit": 1
}
200Success
{
  "data": [
    {
      "account": {
        "id": "text"
      },
      "avatar_url": "text",
      "custom_fields": {
        "ANY_ADDITIONAL_PROPERTY": {
          "slug": "text",
          "value": "text",
          "values": [
            "text"
          ]
        }
      },
      "email": "text",
      "emails": [
        "text"
      ],
      "id": "text",
      "name": "text",
      "portal_role": "no_access"
    }
  ],
  "pagination": {
    "cursor": "text",
    "has_next_page": true
  },
  "request_id": "text"
}

Last updated

Was this helpful?