MENU navbar-image

Introduction

This documentation aims to provide all the information you need to work with our API.

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by visiting API module, API keys section, and clicking Add to create new tokens.

Events

Get by ID

requires authentication

Retrieves the event with the given ID and returns it as a JSON response.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/events/10" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.berrly.com/v1/events/10"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/events/10';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 234
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/events/{id_event}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id_event   integer   

The ID of the event to retrieve Example: 10

Get All Events

requires authentication

Retrieve a list of events based on filters provided in the request.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/events" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"public\": true,
    \"has_tickets\": true,
    \"date\": \"1992-05-18\"
}"
const url = new URL(
    "https://api.berrly.com/v1/events"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "public": true,
    "has_tickets": true,
    "date": "1992-05-18"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/events';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'public' => true,
            'has_tickets' => true,
            'date' => '1992-05-18',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 233
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/events

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

public   boolean  optional  

Filter only public events. Example: true

has_tickets   boolean  optional  

Filter only events with tickets. Example: true

date   string  optional  

Upcoming, Past or Specific date: 1992-05-18, upcoming, past. Example: 1992-05-18

Set Member Attendance

requires authentication

Sets the attendance for a member at an event.

Example request:
curl --request POST \
    "https://api.berrly.com/v1/events/18/member/11" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"YES\",
    \"status_verified\": \"YES\",
    \"attendance_tags\": \"[\\\"tag-1\\\",\\\"tag-2\\\"]\"
}"
const url = new URL(
    "https://api.berrly.com/v1/events/18/member/11"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "YES",
    "status_verified": "YES",
    "attendance_tags": "[\"tag-1\",\"tag-2\"]"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/events/18/member/11';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'status' => 'YES',
            'status_verified' => 'YES',
            'attendance_tags' => '["tag-1","tag-2"]',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

POST v1/events/{id_event}/member/{id_member}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id_event   integer   

The ID of the event. Example: 18

id_member   integer   

The ID of the member. Example: 11

Body Parameters

status   string  optional  

YES / NO. Example: YES

status_verified   string  optional  

YES / NO. Example: YES

attendance_tags   string  optional  

Json encoded array of attendance tags. Example: ["tag-1","tag-2"]

Get Member Attendance

requires authentication

Retrieve the attendance for a given event and member.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/events/9/member/8" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.berrly.com/v1/events/9/member/8"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/events/9/member/8';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 232
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/events/{id_event}/member/{id_member}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id_event   integer   

The ID of the event. Example: 9

id_member   integer   

The ID of the member. Example: 8

Get Attendance by Token

requires authentication

Retrieves the attendance information for a specific token.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/events/attendance/token" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"token\": \"assumenda\",
    \"id_event\": 6
}"
const url = new URL(
    "https://api.berrly.com/v1/events/attendance/token"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "token": "assumenda",
    "id_event": 6
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/events/attendance/token';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'token' => 'assumenda',
            'id_event' => 6,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 231
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/events/attendance/token

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

token   string   

The token used to filter the attendance. Example: assumenda

id_event   integer  optional  

optional The ID of the event used to filter the attendance. Example: 6

Get Attendance by National ID Number

requires authentication

Retrieves the attendance information for a member based on their national ID number and event ID.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/events/attendance/national_id_number" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nationalIdNumber\": \"rerum\",
    \"eventId\": 20
}"
const url = new URL(
    "https://api.berrly.com/v1/events/attendance/national_id_number"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nationalIdNumber": "rerum",
    "eventId": 20
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/events/attendance/national_id_number';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'nationalIdNumber' => 'rerum',
            'eventId' => 20,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 230
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/events/attendance/national_id_number

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

nationalIdNumber   string   

The National ID of the member. Example: rerum

eventId   integer   

The ID of the event used to filter the attendance. Example: 20

Get capacity

requires authentication

Get the attendance capacity of an event.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/events/attendance/capacity/9" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.berrly.com/v1/events/attendance/capacity/9"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/events/attendance/capacity/9';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 229
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/events/attendance/capacity/{id_event}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id_event   string   

Example: 9

int   string  optional  

id_event The ID of the event. Example: deleniti

Get Attendance by ID

requires authentication

Retrieves the attendance information for a given attendance ID.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/events/attendance/5" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.berrly.com/v1/events/attendance/5"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/events/attendance/5';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 228
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/events/attendance/{id_attendance}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id_attendance   integer   

The ID of the attendance. Example: 5

Scan Token

requires authentication

Scan a member or attendance token and process accordingly.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/events/attendance/scan-qr" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"token\": \"abcde123\",
    \"id_event\": 12
}"
const url = new URL(
    "https://api.berrly.com/v1/events/attendance/scan-qr"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "token": "abcde123",
    "id_event": 12
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/events/attendance/scan-qr';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'token' => 'abcde123',
            'id_event' => 12,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 227
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/events/attendance/scan-qr

POST v1/events/attendance/scan-qr

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

token   string   

8 chars paper token. Example: abcde123

id_event   integer   

The ID of the event used to filter the attendance. Example: 12

Enter or Leave

requires authentication

Register IN/OUT using a PDF/Paper ticket token

Example request:
curl --request POST \
    "https://api.berrly.com/v1/events/attendance/access-control" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"action\": \"IN\",
    \"token\": \"abcde123\",
    \"id_event\": 6,
    \"id_attendance\": 16
}"
const url = new URL(
    "https://api.berrly.com/v1/events/attendance/access-control"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "action": "IN",
    "token": "abcde123",
    "id_event": 6,
    "id_attendance": 16
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/events/attendance/access-control';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'action' => 'IN',
            'token' => 'abcde123',
            'id_event' => 6,
            'id_attendance' => 16,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

POST v1/events/attendance/access-control

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

action   string   

IN or OUT. Example: IN

token   string   

8 chars paper token. Example: abcde123

id_event   integer   

The ID of the event used to filter the attendance. Example: 6

id_attendance   integer  optional  

optional The ID of the attendance (required without token). Example: 16

Members

Get by ID

requires authentication

Display the specified member.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/members/532223" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.berrly.com/v1/members/532223"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/members/532223';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id_member": 532223,
    "id_member_update": null,
    "type": "MEMBER",
    "entity_type": "INDIVIDUAL",
    "num_member": 34,
    "national_id_number": "40761663M",
    "national_id_type": "DNI",
    "name": "Abril",
    "last_name": "Terrazas Alanis",
    "fname": "",
    "alias": "",
    "gender": null,
    "birthdate": null,
    "email": "abril.terrazas@example.com",
    "email2": null,
    "email3": null,
    "phone_mobile": "918 487907",
    "phone_number": "+34 960-86-2237",
    "phone_emergency": "+34 913-356606",
    "address": "Paseo Victoria, 047, 85º A",
    "postal_code": "87543",
    "city": "As Botello",
    "province": "Sevilla",
    "region": "Comunidad de Madrid",
    "country": "",
    "photo": "https://storage.googleapis.com/berrly-saas/bnonprofit/members/NcCbZ3oIaF-532223.jpg",
    "legal_name": null,
    "industry": null,
    "contact_name": null,
    "contact_email": null,
    "contact_phone": null,
    "contact_position": null,
    "web": null,
    "linkedin": null,
    "twitter": null,
    "facebook": null,
    "instagram": null,
    "tiktok": null,
    "telegram": null,
    "skype": null,
    "subscription_date": "2014-09-29T00:00:00.000000Z",
    "unsubscription_date": null,
    "tags": [
        "socio-con-empresa",
        "forma-parte-de-colectivo",
        "cargo-en-cuenta",
        "impagos",
        "cuota-premium"
    ],
    "extra_fields": [
        {
            "id_field_schema": 3114,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Periodicidad de pago",
            "type": "DROPDOWN-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 3136,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Nombre familiar",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 3630,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Preferencias",
            "type": "DROPDOWN",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 3888,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Seccions",
            "type": "DROPDOWN-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4075,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Cursos",
            "type": "DROPDOWN-MULTIPLE-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4088,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Àrea d'interès",
            "type": "DROPDOWN-MULTIPLE-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4305,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Nombre de la familia (apellidos niño)",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4306,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Justificante de pago",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4860,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Comprobant sol.licitut beca",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4888,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Fotocòpia del NIF o NIE de la persona que fa la inscripció",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4889,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Fotocòpia de la targeta sanitària (CatSalut) o mútua de l’infant",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4890,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Fotocòpia de la cartilla de vacunacions de l’infant",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4891,
            "id_organization": 1788,
            "id_field_category": 1469,
            "order": 0,
            "name": "Nom i cognoms Pare/ Mare/ Tutor legal",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4892,
            "id_organization": 1788,
            "id_field_category": 1469,
            "order": 0,
            "name": "NIF o NIE Pare/ Mare/ Tutor legal",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4893,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "Nom autoritzat 1",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4894,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "DNI autoritzat 1",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4895,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "Nom autoritzat 2",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4896,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "DNI autoritzat 2",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4897,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "Nom autoritzat 3",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4898,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "DNI autoritzat 3",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4899,
            "id_organization": 1788,
            "id_field_category": 1199,
            "order": 0,
            "name": "Autorització subministrament de Paracetamol",
            "type": "BOOLEAN",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4900,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pateix algun tipus d’alteració física o psíquica",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4901,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pateix alguna malaltia crònica",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4902,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pren algun medicament de forma periòdica",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4903,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pateix algun tipus d’al·lèrgia",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4904,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu qualsevol observació rellevant sobre l’alimentació",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4906,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Tipo de socio",
            "type": "DROPDOWN",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4907,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Indica la cantidad si quieres hacer una aportación extra (€)",
            "type": "NUMBER",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        }
    ],
    "media": [],
    "shared_media": [
        {
            "id": 60934,
            "id_organization": 1788,
            "model_type": "App\\Organization",
            "model_id": 1788,
            "collection_name": "documents",
            "name": "Berrly - Asociaciones y Federaciones",
            "file_name": "9g9j67WX-Berrly---Asociaciones-y-Federaciones.pdf",
            "mime_type": "application/pdf",
            "disk": "gcs",
            "size": 2565993,
            "manipulations": [],
            "custom_properties": {
                "tags": [
                    "proyecto-a"
                ],
                "member_tags": [
                    "socio-con-empresa"
                ]
            },
            "responsive_images": [],
            "order_column": 56372,
            "created_at": "2023-01-05T11:20:19.000000Z",
            "updated_at": "2023-01-05T11:20:19.000000Z",
            "url": "https://storage.googleapis.com/berrly-saas/bnonprofit/documents/9g9j67WX-Berrly---Asociaciones-y-Federaciones.pdf"
        },
        {
            "id": 65358,
            "id_organization": 1788,
            "model_type": "App\\Organization",
            "model_id": 1788,
            "collection_name": "documents",
            "name": "Berrly - Clubs esportius - CA",
            "file_name": "jXfu5vZ3-Berrly---Clubs-esportius---CA.pdf",
            "mime_type": "application/pdf",
            "disk": "gcs",
            "size": 7123622,
            "manipulations": [],
            "custom_properties": {
                "tags": [
                    "proyecto-a"
                ],
                "member_tags": [
                    "socio-con-empresa"
                ]
            },
            "responsive_images": [],
            "order_column": 60290,
            "created_at": "2023-01-31T16:02:01.000000Z",
            "updated_at": "2023-01-31T16:02:01.000000Z",
            "url": "https://storage.googleapis.com/berrly-saas/bnonprofit/documents/jXfu5vZ3-Berrly---Clubs-esportius---CA.pdf"
        }
    ],
    "tokens": [
        {
            "id_token": 385022,
            "id_member": 532223,
            "id_card_design": null,
            "token": "sH3jXj66hTPI0UJ4V1hv8hHv",
            "type": "MEMBERZONE",
            "enabled": true,
            "created_at": "2023-02-23T12:45:37.000000Z",
            "updated_at": null,
            "expire_at": null,
            "deleted_at": null
        },
        {
            "id_token": 457473,
            "id_member": 532223,
            "id_card_design": 520,
            "token": "OZFLTgOB4JMcYPlwvA4vfWWK",
            "type": "MEMBERCARD",
            "enabled": true,
            "created_at": "2023-06-09T08:18:34.000000Z",
            "updated_at": "2023-06-09T08:18:34.000000Z",
            "expire_at": null,
            "deleted_at": null
        }
    ]
}
 

Request   

GET v1/members/{id_member}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id_member   integer   

The ID of the member: Example: 532223

Get by Token

requires authentication

Display the specified member.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/members/token/i23yQp9HRsKVXrJMhhola78z" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.berrly.com/v1/members/token/i23yQp9HRsKVXrJMhhola78z"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/members/token/i23yQp9HRsKVXrJMhhola78z';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 239
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/members/token/{token}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

the Token of the member. Example: i23yQp9HRsKVXrJMhhola78z

Get by National ID

requires authentication

Retrieve a member by their member number and national ID number. Member must have two values.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/members/national-id/40761663M" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.berrly.com/v1/members/national-id/40761663M"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/members/national-id/40761663M';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 238
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/members/national-id/{national_id_number}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

national_id_number   string   

The national ID number. Example: 40761663M

Create

requires authentication

Create a new Member with given properties

Example request:
curl --request POST \
    "https://api.berrly.com/v1/members" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"national_id_number\": \"40761663M\",
    \"national_id_type\": \"DNI\",
    \"num_member\": 342,
    \"name\": \"Abril\",
    \"last_name\": \"Terrazas Alanis\",
    \"alias\": \"Cerral\",
    \"gender\": \"FEMALE\",
    \"birthdate\": \"1983-06-24\",
    \"email\": \"abrilterrazas@example.com\",
    \"email2\": \"abrilterrazas2@example.com\",
    \"email3\": \"terrazi83@example.com\",
    \"phone_mobile\": \"+34666000000\",
    \"phone_number\": \"+34933456789\",
    \"phone_emergency\": \"+34933456789\",
    \"address\": \"Paseo Victoria, 047, 85º A\",
    \"postal_code\": \"87543\",
    \"city\": \"Sevilla\",
    \"province\": \"Sevilla\",
    \"region\": \"Andalucia\",
    \"country\": \"Spain\",
    \"subscription_date\": \"2003-09-24\"
}"
const url = new URL(
    "https://api.berrly.com/v1/members"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "national_id_number": "40761663M",
    "national_id_type": "DNI",
    "num_member": 342,
    "name": "Abril",
    "last_name": "Terrazas Alanis",
    "alias": "Cerral",
    "gender": "FEMALE",
    "birthdate": "1983-06-24",
    "email": "abrilterrazas@example.com",
    "email2": "abrilterrazas2@example.com",
    "email3": "terrazi83@example.com",
    "phone_mobile": "+34666000000",
    "phone_number": "+34933456789",
    "phone_emergency": "+34933456789",
    "address": "Paseo Victoria, 047, 85º A",
    "postal_code": "87543",
    "city": "Sevilla",
    "province": "Sevilla",
    "region": "Andalucia",
    "country": "Spain",
    "subscription_date": "2003-09-24"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/members';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'national_id_number' => '40761663M',
            'national_id_type' => 'DNI',
            'num_member' => 342,
            'name' => 'Abril',
            'last_name' => 'Terrazas Alanis',
            'alias' => 'Cerral',
            'gender' => 'FEMALE',
            'birthdate' => '1983-06-24',
            'email' => 'abrilterrazas@example.com',
            'email2' => 'abrilterrazas2@example.com',
            'email3' => 'terrazi83@example.com',
            'phone_mobile' => '+34666000000',
            'phone_number' => '+34933456789',
            'phone_emergency' => '+34933456789',
            'address' => 'Paseo Victoria, 047, 85º A',
            'postal_code' => '87543',
            'city' => 'Sevilla',
            'province' => 'Sevilla',
            'region' => 'Andalucia',
            'country' => 'Spain',
            'subscription_date' => '2003-09-24',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id_member": 532223,
    "id_member_update": null,
    "type": "MEMBER",
    "entity_type": "INDIVIDUAL",
    "num_member": 34,
    "national_id_number": "40761663M",
    "national_id_type": "DNI",
    "name": "Abril",
    "last_name": "Terrazas Alanis",
    "fname": "",
    "alias": "",
    "gender": null,
    "birthdate": null,
    "email": "abril.terrazas@example.com",
    "email2": null,
    "email3": null,
    "phone_mobile": "918 487907",
    "phone_number": "+34 960-86-2237",
    "phone_emergency": "+34 913-356606",
    "address": "Paseo Victoria, 047, 85º A",
    "postal_code": "87543",
    "city": "As Botello",
    "province": "Sevilla",
    "region": "Comunidad de Madrid",
    "country": "",
    "photo": "https://storage.googleapis.com/berrly-saas/bnonprofit/members/NcCbZ3oIaF-532223.jpg",
    "legal_name": null,
    "industry": null,
    "contact_name": null,
    "contact_email": null,
    "contact_phone": null,
    "contact_position": null,
    "web": null,
    "linkedin": null,
    "twitter": null,
    "facebook": null,
    "instagram": null,
    "tiktok": null,
    "telegram": null,
    "skype": null,
    "subscription_date": "2014-09-29T00:00:00.000000Z",
    "unsubscription_date": null,
    "tags": [
        "socio-con-empresa",
        "forma-parte-de-colectivo",
        "cargo-en-cuenta",
        "impagos",
        "cuota-premium"
    ],
    "extra_fields": [
        {
            "id_field_schema": 3114,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Periodicidad de pago",
            "type": "DROPDOWN-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 3136,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Nombre familiar",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 3630,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Preferencias",
            "type": "DROPDOWN",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 3888,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Seccions",
            "type": "DROPDOWN-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4075,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Cursos",
            "type": "DROPDOWN-MULTIPLE-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4088,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Àrea d'interès",
            "type": "DROPDOWN-MULTIPLE-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4305,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Nombre de la familia (apellidos niño)",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4306,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Justificante de pago",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4860,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Comprobant sol.licitut beca",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4888,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Fotocòpia del NIF o NIE de la persona que fa la inscripció",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4889,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Fotocòpia de la targeta sanitària (CatSalut) o mútua de l’infant",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4890,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Fotocòpia de la cartilla de vacunacions de l’infant",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4891,
            "id_organization": 1788,
            "id_field_category": 1469,
            "order": 0,
            "name": "Nom i cognoms Pare/ Mare/ Tutor legal",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4892,
            "id_organization": 1788,
            "id_field_category": 1469,
            "order": 0,
            "name": "NIF o NIE Pare/ Mare/ Tutor legal",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4893,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "Nom autoritzat 1",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4894,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "DNI autoritzat 1",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4895,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "Nom autoritzat 2",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4896,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "DNI autoritzat 2",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4897,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "Nom autoritzat 3",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4898,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "DNI autoritzat 3",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4899,
            "id_organization": 1788,
            "id_field_category": 1199,
            "order": 0,
            "name": "Autorització subministrament de Paracetamol",
            "type": "BOOLEAN",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4900,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pateix algun tipus d’alteració física o psíquica",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4901,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pateix alguna malaltia crònica",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4902,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pren algun medicament de forma periòdica",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4903,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pateix algun tipus d’al·lèrgia",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4904,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu qualsevol observació rellevant sobre l’alimentació",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4906,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Tipo de socio",
            "type": "DROPDOWN",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4907,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Indica la cantidad si quieres hacer una aportación extra (€)",
            "type": "NUMBER",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        }
    ],
    "media": [],
    "shared_media": [
        {
            "id": 60934,
            "id_organization": 1788,
            "model_type": "App\\Organization",
            "model_id": 1788,
            "collection_name": "documents",
            "name": "Berrly - Asociaciones y Federaciones",
            "file_name": "9g9j67WX-Berrly---Asociaciones-y-Federaciones.pdf",
            "mime_type": "application/pdf",
            "disk": "gcs",
            "size": 2565993,
            "manipulations": [],
            "custom_properties": {
                "tags": [
                    "proyecto-a"
                ],
                "member_tags": [
                    "socio-con-empresa"
                ]
            },
            "responsive_images": [],
            "order_column": 56372,
            "created_at": "2023-01-05T11:20:19.000000Z",
            "updated_at": "2023-01-05T11:20:19.000000Z",
            "url": "https://storage.googleapis.com/berrly-saas/bnonprofit/documents/9g9j67WX-Berrly---Asociaciones-y-Federaciones.pdf"
        },
        {
            "id": 65358,
            "id_organization": 1788,
            "model_type": "App\\Organization",
            "model_id": 1788,
            "collection_name": "documents",
            "name": "Berrly - Clubs esportius - CA",
            "file_name": "jXfu5vZ3-Berrly---Clubs-esportius---CA.pdf",
            "mime_type": "application/pdf",
            "disk": "gcs",
            "size": 7123622,
            "manipulations": [],
            "custom_properties": {
                "tags": [
                    "proyecto-a"
                ],
                "member_tags": [
                    "socio-con-empresa"
                ]
            },
            "responsive_images": [],
            "order_column": 60290,
            "created_at": "2023-01-31T16:02:01.000000Z",
            "updated_at": "2023-01-31T16:02:01.000000Z",
            "url": "https://storage.googleapis.com/berrly-saas/bnonprofit/documents/jXfu5vZ3-Berrly---Clubs-esportius---CA.pdf"
        }
    ],
    "tokens": [
        {
            "id_token": 385022,
            "id_member": 532223,
            "id_card_design": null,
            "token": "sH3jXj66hTPI0UJ4V1hv8hHv",
            "type": "MEMBERZONE",
            "enabled": true,
            "created_at": "2023-02-23T12:45:37.000000Z",
            "updated_at": null,
            "expire_at": null,
            "deleted_at": null
        },
        {
            "id_token": 457473,
            "id_member": 532223,
            "id_card_design": 520,
            "token": "OZFLTgOB4JMcYPlwvA4vfWWK",
            "type": "MEMBERCARD",
            "enabled": true,
            "created_at": "2023-06-09T08:18:34.000000Z",
            "updated_at": "2023-06-09T08:18:34.000000Z",
            "expire_at": null,
            "deleted_at": null
        }
    ]
}
 

Request   

POST v1/members

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

national_id_number   string  optional  

National ID number value. Example: 40761663M

national_id_type   string  optional  

National ID type value: CIF, DNI, NIE, PASSPORT, OTHER. Example: DNI

num_member   integer  optional  

Num Member value. Example: 342

name   string  optional  

Name value. Example: Abril

last_name   string  optional  

Last name value. Example: Terrazas Alanis

alias   string  optional  

Alias value. Example: Cerral

gender   string  optional  

MALE, FEMALE, "Any option you can write" value. Example: FEMALE

birthdate   string  optional  

Birthdate value. Example: 1983-06-24

email   string  optional  

Email value. Example: abrilterrazas@example.com

email2   string  optional  

Email value. Example: abrilterrazas2@example.com

email3   string  optional  

Email value. Example: terrazi83@example.com

phone_mobile   string  optional  

Phone mobile value. Example: +34666000000

phone_number   string  optional  

Phone number value. Example: +34933456789

phone_emergency   string  optional  

Phone emergency number value. Example: +34933456789

address   string  optional  

Address value. Example: Paseo Victoria, 047, 85º A

postal_code   string  optional  

Postal code value. Example: 87543

city   string  optional  

City value. Example: Sevilla

province   string  optional  

Province value. Example: Sevilla

region   string  optional  

Region value. Example: Andalucia

country   string  optional  

Country value. Example: Spain

comments   string  optional  

Comments value.

legal_name   string  optional  

Legal name value.

industry   string  optional  

Industry value.

contact_name   string.  optional  
contact_email   string.  optional  
contact_phone   string.  optional  
contact_position   string.  optional  
web   string.  optional  
linkedin   string.  optional  
facebook   string.  optional  
instagram   string.  optional  
tiktok   string.  optional  
telegram   string.  optional  
skype   string.  optional  
iban   string.  optional  
payment_method   string.  optional  
iban_name   string.  optional  
bic   string.  optional  
membership_fee   string.  optional  
subscription_date   string.  optional  

Date when member was first subscribed to organization. Example: 2003-09-24

Update

requires authentication

Updates a member if id_member is specified.

Example request:
curl --request POST \
    "https://api.berrly.com/v1/members/18" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"national_id_number\": \"40761663M\",
    \"national_id_type\": \"DNI\",
    \"num_member\": 342,
    \"name\": \"Abril\",
    \"last_name\": \"Terrazas Alanis\",
    \"alias\": \"Cerral\",
    \"gender\": \"FEMALE\",
    \"birthdate\": \"1983-06-24\",
    \"email\": \"abrilterrazas@example.com\",
    \"email2\": \"abrilterrazas2@example.com\",
    \"email3\": \"terrazi83@example.com\",
    \"phone_mobile\": \"+34666000000\",
    \"phone_number\": \"+34933456789\",
    \"phone_emergency\": \"+34933456789\",
    \"address\": \"Paseo Victoria, 047, 85º A\",
    \"postal_code\": \"87543\",
    \"city\": \"Sevilla\",
    \"province\": \"Sevilla\",
    \"region\": \"Andalucia\",
    \"country\": \"Spain\",
    \"subscription_date\": \"2003-09-24\"
}"
const url = new URL(
    "https://api.berrly.com/v1/members/18"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "national_id_number": "40761663M",
    "national_id_type": "DNI",
    "num_member": 342,
    "name": "Abril",
    "last_name": "Terrazas Alanis",
    "alias": "Cerral",
    "gender": "FEMALE",
    "birthdate": "1983-06-24",
    "email": "abrilterrazas@example.com",
    "email2": "abrilterrazas2@example.com",
    "email3": "terrazi83@example.com",
    "phone_mobile": "+34666000000",
    "phone_number": "+34933456789",
    "phone_emergency": "+34933456789",
    "address": "Paseo Victoria, 047, 85º A",
    "postal_code": "87543",
    "city": "Sevilla",
    "province": "Sevilla",
    "region": "Andalucia",
    "country": "Spain",
    "subscription_date": "2003-09-24"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/members/18';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'national_id_number' => '40761663M',
            'national_id_type' => 'DNI',
            'num_member' => 342,
            'name' => 'Abril',
            'last_name' => 'Terrazas Alanis',
            'alias' => 'Cerral',
            'gender' => 'FEMALE',
            'birthdate' => '1983-06-24',
            'email' => 'abrilterrazas@example.com',
            'email2' => 'abrilterrazas2@example.com',
            'email3' => 'terrazi83@example.com',
            'phone_mobile' => '+34666000000',
            'phone_number' => '+34933456789',
            'phone_emergency' => '+34933456789',
            'address' => 'Paseo Victoria, 047, 85º A',
            'postal_code' => '87543',
            'city' => 'Sevilla',
            'province' => 'Sevilla',
            'region' => 'Andalucia',
            'country' => 'Spain',
            'subscription_date' => '2003-09-24',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id_member": 532223,
    "id_member_update": null,
    "type": "MEMBER",
    "entity_type": "INDIVIDUAL",
    "num_member": 34,
    "national_id_number": "40761663M",
    "national_id_type": "DNI",
    "name": "Abril",
    "last_name": "Terrazas Alanis",
    "fname": "",
    "alias": "",
    "gender": null,
    "birthdate": null,
    "email": "abril.terrazas@example.com",
    "email2": null,
    "email3": null,
    "phone_mobile": "918 487907",
    "phone_number": "+34 960-86-2237",
    "phone_emergency": "+34 913-356606",
    "address": "Paseo Victoria, 047, 85º A",
    "postal_code": "87543",
    "city": "As Botello",
    "province": "Sevilla",
    "region": "Comunidad de Madrid",
    "country": "",
    "photo": "https://storage.googleapis.com/berrly-saas/bnonprofit/members/NcCbZ3oIaF-532223.jpg",
    "legal_name": null,
    "industry": null,
    "contact_name": null,
    "contact_email": null,
    "contact_phone": null,
    "contact_position": null,
    "web": null,
    "linkedin": null,
    "twitter": null,
    "facebook": null,
    "instagram": null,
    "tiktok": null,
    "telegram": null,
    "skype": null,
    "subscription_date": "2014-09-29T00:00:00.000000Z",
    "unsubscription_date": null,
    "tags": [
        "socio-con-empresa",
        "forma-parte-de-colectivo",
        "cargo-en-cuenta",
        "impagos",
        "cuota-premium"
    ],
    "extra_fields": [
        {
            "id_field_schema": 3114,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Periodicidad de pago",
            "type": "DROPDOWN-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 3136,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Nombre familiar",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 3630,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Preferencias",
            "type": "DROPDOWN",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 3888,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Seccions",
            "type": "DROPDOWN-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4075,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Cursos",
            "type": "DROPDOWN-MULTIPLE-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4088,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Àrea d'interès",
            "type": "DROPDOWN-MULTIPLE-FIXED",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4305,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Nombre de la familia (apellidos niño)",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4306,
            "id_organization": 1788,
            "id_field_category": null,
            "order": 0,
            "name": "Justificante de pago",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4860,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Comprobant sol.licitut beca",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4888,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Fotocòpia del NIF o NIE de la persona que fa la inscripció",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4889,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Fotocòpia de la targeta sanitària (CatSalut) o mútua de l’infant",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4890,
            "id_organization": 1788,
            "id_field_category": 1468,
            "order": 0,
            "name": "Fotocòpia de la cartilla de vacunacions de l’infant",
            "type": "FILE",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4891,
            "id_organization": 1788,
            "id_field_category": 1469,
            "order": 0,
            "name": "Nom i cognoms Pare/ Mare/ Tutor legal",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4892,
            "id_organization": 1788,
            "id_field_category": 1469,
            "order": 0,
            "name": "NIF o NIE Pare/ Mare/ Tutor legal",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4893,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "Nom autoritzat 1",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4894,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "DNI autoritzat 1",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4895,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "Nom autoritzat 2",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4896,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "DNI autoritzat 2",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4897,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "Nom autoritzat 3",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4898,
            "id_organization": 1788,
            "id_field_category": 1470,
            "order": 0,
            "name": "DNI autoritzat 3",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4899,
            "id_organization": 1788,
            "id_field_category": 1199,
            "order": 0,
            "name": "Autorització subministrament de Paracetamol",
            "type": "BOOLEAN",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4900,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pateix algun tipus d’alteració física o psíquica",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4901,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pateix alguna malaltia crònica",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4902,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pren algun medicament de forma periòdica",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4903,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu si pateix algun tipus d’al·lèrgia",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4904,
            "id_organization": 1788,
            "id_field_category": 1471,
            "order": 0,
            "name": "Indiqueu qualsevol observació rellevant sobre l’alimentació",
            "type": "VARCHAR",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4906,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Tipo de socio",
            "type": "DROPDOWN",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        },
        {
            "id_field_schema": 4907,
            "id_organization": 1788,
            "id_field_category": 1088,
            "order": 0,
            "name": "Indica la cantidad si quieres hacer una aportación extra (€)",
            "type": "NUMBER",
            "visible": true,
            "sort": true,
            "translations": null,
            "data": null
        }
    ],
    "media": [],
    "shared_media": [
        {
            "id": 60934,
            "id_organization": 1788,
            "model_type": "App\\Organization",
            "model_id": 1788,
            "collection_name": "documents",
            "name": "Berrly - Asociaciones y Federaciones",
            "file_name": "9g9j67WX-Berrly---Asociaciones-y-Federaciones.pdf",
            "mime_type": "application/pdf",
            "disk": "gcs",
            "size": 2565993,
            "manipulations": [],
            "custom_properties": {
                "tags": [
                    "proyecto-a"
                ],
                "member_tags": [
                    "socio-con-empresa"
                ]
            },
            "responsive_images": [],
            "order_column": 56372,
            "created_at": "2023-01-05T11:20:19.000000Z",
            "updated_at": "2023-01-05T11:20:19.000000Z",
            "url": "https://storage.googleapis.com/berrly-saas/bnonprofit/documents/9g9j67WX-Berrly---Asociaciones-y-Federaciones.pdf"
        },
        {
            "id": 65358,
            "id_organization": 1788,
            "model_type": "App\\Organization",
            "model_id": 1788,
            "collection_name": "documents",
            "name": "Berrly - Clubs esportius - CA",
            "file_name": "jXfu5vZ3-Berrly---Clubs-esportius---CA.pdf",
            "mime_type": "application/pdf",
            "disk": "gcs",
            "size": 7123622,
            "manipulations": [],
            "custom_properties": {
                "tags": [
                    "proyecto-a"
                ],
                "member_tags": [
                    "socio-con-empresa"
                ]
            },
            "responsive_images": [],
            "order_column": 60290,
            "created_at": "2023-01-31T16:02:01.000000Z",
            "updated_at": "2023-01-31T16:02:01.000000Z",
            "url": "https://storage.googleapis.com/berrly-saas/bnonprofit/documents/jXfu5vZ3-Berrly---Clubs-esportius---CA.pdf"
        }
    ],
    "tokens": [
        {
            "id_token": 385022,
            "id_member": 532223,
            "id_card_design": null,
            "token": "sH3jXj66hTPI0UJ4V1hv8hHv",
            "type": "MEMBERZONE",
            "enabled": true,
            "created_at": "2023-02-23T12:45:37.000000Z",
            "updated_at": null,
            "expire_at": null,
            "deleted_at": null
        },
        {
            "id_token": 457473,
            "id_member": 532223,
            "id_card_design": 520,
            "token": "OZFLTgOB4JMcYPlwvA4vfWWK",
            "type": "MEMBERCARD",
            "enabled": true,
            "created_at": "2023-06-09T08:18:34.000000Z",
            "updated_at": "2023-06-09T08:18:34.000000Z",
            "expire_at": null,
            "deleted_at": null
        }
    ]
}
 

Request   

POST v1/members/{id_member}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id_member   integer   

The ID of the member Example: 18

Body Parameters

national_id_number   string  optional  

National ID number value. Example: 40761663M

national_id_type   string  optional  

National ID type value: CIF, DNI, NIE, PASSPORT, OTHER. Example: DNI

num_member   integer  optional  

Num Member value. Example: 342

name   string  optional  

Name value. Example: Abril

last_name   string  optional  

Last name value. Example: Terrazas Alanis

alias   string  optional  

Alias value. Example: Cerral

gender   string  optional  

MALE, FEMALE, "Any option you can write" value. Example: FEMALE

birthdate   string  optional  

Birthdate value. Example: 1983-06-24

email   string  optional  

Email value. Example: abrilterrazas@example.com

email2   string  optional  

Email value. Example: abrilterrazas2@example.com

email3   string  optional  

Email value. Example: terrazi83@example.com

phone_mobile   string  optional  

Phone mobile value. Example: +34666000000

phone_number   string  optional  

Phone number value. Example: +34933456789

phone_emergency   string  optional  

Phone emergency number value. Example: +34933456789

address   string  optional  

Address value. Example: Paseo Victoria, 047, 85º A

postal_code   string  optional  

Postal code value. Example: 87543

city   string  optional  

City value. Example: Sevilla

province   string  optional  

Province value. Example: Sevilla

region   string  optional  

Region value. Example: Andalucia

country   string  optional  

Country value. Example: Spain

comments   string  optional  

Comments value.

legal_name   string  optional  

Legal name value.

industry   string  optional  

Industry value.

contact_name   string.  optional  
contact_email   string.  optional  
contact_phone   string.  optional  
contact_position   string.  optional  
web   string.  optional  
linkedin   string.  optional  
facebook   string.  optional  
instagram   string.  optional  
tiktok   string.  optional  
telegram   string.  optional  
skype   string.  optional  
iban   string.  optional  
payment_method   string.  optional  
iban_name   string.  optional  
bic   string.  optional  
membership_fee   string.  optional  
subscription_date   string.  optional  

Date when member was first subscribed to organization. Example: 2003-09-24

List

requires authentication

List all members based on the given request parameters.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/members?tag=voluptatibus&excluded_tag=repudiandae&id_extra_field=20&value_extra_field=voluptatem&subset=ALL&type=MEMBER" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.berrly.com/v1/members"
);

const params = {
    "tag": "voluptatibus",
    "excluded_tag": "repudiandae",
    "id_extra_field": "20",
    "value_extra_field": "voluptatem",
    "subset": "ALL",
    "type": "MEMBER",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/members';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'tag' => 'voluptatibus',
            'excluded_tag' => 'repudiandae',
            'id_extra_field' => '20',
            'value_extra_field' => 'voluptatem',
            'subset' => 'ALL',
            'type' => 'MEMBER',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 237
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/members

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

tag   string  optional  

You can filter only members with this tag Example: voluptatibus

excluded_tag   string  optional  

You can filter to exclude only members with this tag Example: repudiandae

id_extra_field   integer  optional  

You can filter only members with this Extra Field Example: 20

value_extra_field   string  optional  

If you want to filter by Extra Field you must set a "value" Example: voluptatem

subset   string  optional  

SUBSCRIBED , UNSUBSCRIBED or ALL. Example: ALL

type   string  optional  

UNSUBSCRIBED_NO_DATA, UNSUBSCRIBED, PREVIEW, UPDATE or MEMBER. Example: MEMBER

requires authentication

Searches for members based on the given request parameters.

Example request:
curl --request POST \
    "https://api.berrly.com/v1/members/search" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tag\": \"natus\",
    \"excluded_tag\": \"voluptates\",
    \"id_extra_field\": 15,
    \"value_extra_field\": \"vitae\"
}"
const url = new URL(
    "https://api.berrly.com/v1/members/search"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tag": "natus",
    "excluded_tag": "voluptates",
    "id_extra_field": 15,
    "value_extra_field": "vitae"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/members/search';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'tag' => 'natus',
            'excluded_tag' => 'voluptates',
            'id_extra_field' => 15,
            'value_extra_field' => 'vitae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Set Extra Field

requires authentication

Sets extra field for a Member in the organization.

Example request:
curl --request POST \
    "https://api.berrly.com/v1/members/set-extra-field/13/12" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"value\": \"YES\"
}"
const url = new URL(
    "https://api.berrly.com/v1/members/set-extra-field/13/12"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "value": "YES"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/members/set-extra-field/13/12';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'value' => 'YES',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

POST v1/members/set-extra-field/{id_member}/{id_field_schema}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id_member   integer   

The ID of the member to set tags for Example: 13

id_field_schema   integer   

The ID of the extra field Example: 12

Body Parameters

value   string  optional  

Extra field value to set: 2017-10-01, Mountain, YES, NO. Example: YES

Set Tags

requires authentication

Sets tags for a member in the organization.

Example request:
curl --request POST \
    "https://api.berrly.com/v1/members/set-tag/15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tags\": \"red,green,adult,with-a-red-hat\"
}"
const url = new URL(
    "https://api.berrly.com/v1/members/set-tag/15"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tags": "red,green,adult,with-a-red-hat"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/members/set-tag/15';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'tags' => 'red,green,adult,with-a-red-hat',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

POST v1/members/set-tag/{id_member}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id_member   integer   

The ID of the member to set tags for Example: 15

Body Parameters

tags   string  optional  

Tags to add comma separated: Example: red,green,adult,with-a-red-hat

Get Last Num

requires authentication

Retrieve last Num Member from Organization

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/members/last_num" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.berrly.com/v1/members/last_num"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/members/last_num';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 236
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/members/last_num

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Organizations

Get Organization

requires authentication

Retrieves the current organization information & properties.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/organizations/me" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.berrly.com/v1/organizations/me"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/organizations/me';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id_organization": 1788,
    "id_organization_ulid": "ORG_01G5K5WVYGDA6Z28F91EVY7ET6",
    "name": "Berrly Non-profit",
    "shortname": "bnonprofit",
    "email": "info@berrly.com",
    "phone": "+34930328370",
    "address": null,
    "province": null,
    "city": null,
    "country": "Spain",
    "postal_code": null,
    "timezone": "Europe/Madrid",
    "business_name": null,
    "vat_number": null,
    "vat": 21,
    "logo": "https://storage.googleapis.com/berrly-saas-development/bnonprofit/FfKwAhMcqp-logo.png",
    "language": "es",
    "language_member_zone": "",
    "sector": null,
    "updated_at": "2023-07-14T09:48:05.000000Z",
    "created_at": "2022-06-15T07:57:54.000000Z"
}
 

Request   

GET v1/organizations/me

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Tags

Get All Tags

requires authentication

Retrieves all tags for the current organization.

Example request:
curl --request GET \
    --get "https://api.berrly.com/v1/tags" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.berrly.com/v1/tags"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/tags';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 240
x-ratelimit-remaining: 235
 

{
    "error": "Forbidden. Invalid Token."
}
 

Request   

GET v1/tags

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Create

requires authentication

Creates a new tag.

Example request:
curl --request POST \
    "https://api.berrly.com/v1/tags" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"with-a-red-hat\"
}"
const url = new URL(
    "https://api.berrly.com/v1/tags"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "with-a-red-hat"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.berrly.com/v1/tags';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'with-a-red-hat',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

POST v1/tags

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string  optional  

Name of the new tag. Example: with-a-red-hat