People

Partners

The Partners API allows you to retrieve information about partner organisations that work with your organisation. Partners might include referral agencies, community groups, or other collaborating organisations.

List Partners

Retrieve a paginated list of partners with optional filtering.

Endpoint

GET /api/v1/partners

Query Parameters

Pagination:

  • limit (number, default: 100, max: 250) - Maximum number of partners to return
  • offset (number, default: 0) - Number of partners to skip for pagination

Filtering:

  • postcode (string) - Filter partners by postcode
  • Any other partner field can be used as a filter

Response

{
  "partners": [
    {
      "partnerId": "partner_abc123",
      "fields": [
        {
          "key": "name",
          "label": "Organisation Name",
          "value": "Community Support Centre",
          "type": "text"
        },
        {
          "key": "email",
          "label": "Contact Email",
          "value": "contact@communitysupport.org",
          "type": "email"
        },
        {
          "key": "phone",
          "label": "Phone Number",
          "value": "+44 20 7123 4567",
          "type": "phone"
        },
        {
          "key": "address",
          "label": "Address",
          "value": "123 High Street, London",
          "type": "text"
        },
        {
          "key": "postcode",
          "label": "Postcode",
          "value": "EC1A 1BB",
          "type": "text"
        }
      ]
    }
  ],
  "schemaInfo": {
    "organisationId": "org123",
    "schemaId": "master",
    "name": "Partner Schema",
    "_links": {
      "self": {
        "href": "/api/v1/schemas/org123"
      }
    }
  },
  "offset": 0,
  "limit": 100,
  "total": 28
}

Example Request

curl -X GET "https://app.plinth.org.uk/api/v1/partners?limit=50" \
  -H "x-api-key: sk_your_api_key"

Filter by Postcode

curl -X GET "https://app.plinth.org.uk/api/v1/partners?postcode=EC1A" \
  -H "x-api-key: sk_your_api_key"

Get Single Partner

Retrieve a specific partner by their ID.

Endpoint

GET /api/v1/partners/:partnerId

Path Parameters

  • partnerId (string, required) - The unique identifier of the partner

Response

{
  "partner": {
    "partnerId": "partner_abc123",
    "fields": [
      {
        "key": "name",
        "label": "Organisation Name",
        "value": "Community Support Centre",
        "type": "text"
      },
      {
        "key": "email",
        "label": "Contact Email",
        "value": "contact@communitysupport.org",
        "type": "email"
      },
      {
        "key": "phone",
        "label": "Phone Number",
        "value": "+44 20 7123 4567",
        "type": "phone"
      },
      {
        "key": "type",
        "label": "Partner Type",
        "value": "Referral Agency",
        "type": "select"
      },
      {
        "key": "services",
        "label": "Services Offered",
        "value": ["Mental Health Support", "Housing Advice", "Benefits Support"],
        "type": "multiselect"
      }
    ]
  },
  "schemaInfo": {
    "organisationId": "org123",
    "schemaId": "master",
    "_links": {
      "self": {
        "href": "/api/v1/schemas/org123"
      }
    }
  }
}

Example Request

curl -X GET "https://app.plinth.org.uk/api/v1/partners/partner_abc123" \
  -H "x-api-key: sk_your_api_key"

Response Fields

Each partner in the response contains:

FieldTypeDescription
partnerIdstringUnique identifier for the partner
fieldsarrayArray of field objects containing the partner's data

Field Object Structure

PropertyTypeDescription
keystringThe field identifier
labelstringHuman-readable field name
valueanyThe field value
typestringData type (text, email, phone, date, select, etc.)

Error Responses

StatusDescription
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
404Not Found - Partner not found
500Internal Server Error
Previous
Volunteers