MENU navbar-image

Introduction

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

Base URL

https://demo.idir.intelekt.net.pl

Authenticating requests

This API is authenticated by sending an Authorization header with the value "Bearer {YOUR_ACCESS_TOKEN}" or by sending cookie session credentials with Referer/Origin header from stateful domain.

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

You can retrieve your token by visiting tokens tab in your profile and clicking Create API token or sending authentication request via API.

Authenticated user

Routes:

/routes/vendor/icore/api/user.php
/routes/vendor/idir/api/user.php

Controller:

N1ebieski\ICore\Http\Controllers\Api\Auth\UserController
N1ebieski\IDir\Http\Controllers\Api\Auth\UserController

Show user

requires authentication

Show authenticated User resource

Example request:
curl --request GET \
    --get "https://demo.idir.intelekt.net.pl/api/user" \
    --header "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/user"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://demo.idir.intelekt.net.pl/api/user',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_ACCESS_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/user'
headers = {
  'Authorization': 'Bearer {YOUR_ACCESS_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):


{
    "data": {
        "id": 11876,
        "name": "Lydia Conroy",
        "status": {
            "value": 1,
            "label": "active"
        },
        "created_at": "2022-10-06T18:01:42.000000Z",
        "updated_at": "2022-10-06T18:01:42.000000Z",
        "roles": [
            {
                "id": 3,
                "name": "user",
                "created_at": "2022-09-16T00:16:56.000000Z",
                "updated_at": "2022-09-16T00:16:56.000000Z"
            }
        ]
    }
}
 

Request      

GET api/user

Response

Response Fields

id  integer  

name  string  

ip  string  

(available only for admin.users.view).

email  string  

(available only for admin.users.view or owner).

status  object  

Contains int value and string label

marketing  object  

Email marketing consent, contains int value and string label (available only for admin.users.view or owner).

created_at  string  

updated_at  string  

roles  object[]  

Contains relationships Roles.

socialites  object[]  

Contains relationships Socialites (available only for admin.users.view or owner).

Index of user's dirs

requires authentication

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/user/dirs" \
    --header "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"page\": 1,
    \"filter\": {
        \"except\": [],
        \"search\": \"\",
        \"status\": \"\",
        \"group\": \"\",
        \"orderby\": \"\",
        \"paginate\": \"\"
    }
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/user/dirs"
);

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

let body = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": "",
        "group": "",
        "orderby": "",
        "paginate": ""
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/user/dirs',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_ACCESS_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'page' => 1,
            'filter' => [
                'except' => [],
                'search' => '',
                'status' => '',
                'group' => '',
                'orderby' => '',
                'paginate' => '',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/user/dirs'
payload = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": "",
        "group": "",
        "orderby": "",
        "paginate": ""
    }
}
headers = {
  'Authorization': 'Bearer {YOUR_ACCESS_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": [
        {
            "id": 13319,
            "slug": "sunt-quo-totam",
            "title": "Sunt quo totam.",
            "url": "https://amet-voluptates-quisquam-qui-nam-hic-quas.pl",
            "short_content": "Adipisci occaecati at illum doloremque aut. Rerum error sed modi sint ut a autem. Rerum nemo sed odit facilis. Iste alias rerum cum consequuntur facilis tenetur voluptatem. Consequuntur quia enim rerum delectus.",
            "content": "Adipisci occaecati at illum doloremque aut. Rerum error sed modi sint ut a autem. Rerum nemo sed odit facilis. Iste alias rerum cum consequuntur facilis tenetur voluptatem. Consequuntur quia enim rerum delectus.",
            "content_html": "Adipisci occaecati at illum doloremque aut. Rerum error sed modi sint ut a autem. Rerum nemo sed odit facilis. Iste alias rerum cum consequuntur facilis tenetur voluptatem. Consequuntur quia enim rerum delectus.",
            "less_content_html": "Adipisci occaecati at illum doloremque aut. Rerum error sed modi sint ut a autem. Rerum nemo sed odit facilis. Iste alias rerum cum consequuntur facilis tenetur voluptatem. Consequuntur quia enim rerum delectus.... <a href=\"https://demo.idir.intelekt.net.pl/dirs/sunt-quo-totam\">show more &raquo</a>",
            "thumbnail_url": "https://idir.test/thumbnails?url=eyJpdiI6IktZSHNRZ2JjVGdCbTlvekhyY2dHNlE9PSIsInZhbHVlIjoiYW80T3ZDbzE5cGt1UDNldEdSeXBaRkExZDBYRlRhZmlHa1VNSzVKWm55M3BHN3UrT2lVRUhCV01sWHE5WVFpK0ZmU3RJbFJweGV1UTV4UDM3RG1hRkE9PSIsIm1hYyI6ImRlYzJiOGMyNGRkZTAzNDExYTBlY2M5NmU1MjY4YzdlYTlkMWIwMDU2Njk4ZDUwOGEwMDYwOWFkNDExMGNjNjIiLCJ0YWciOiIifQ==",
            "sum_rating": "0.00",
            "created_at": "2022-10-06T18:01:40.000000Z",
            "updated_at": "2022-10-06T18:01:40.000000Z",
            "categories": [
                {
                    "id": 1451,
                    "name": "Fuga",
                    "slug": "fuga",
                    "icon": null,
                    "status": {
                        "value": 1,
                        "label": "active"
                    },
                    "real_depth": 0,
                    "created_at": "2022-10-06T18:01:40.000000Z",
                    "updated_at": "2022-10-06T18:01:40.000000Z"
                }
            ],
            "links": []
        },
        {
            "id": 13320,
            "slug": "nostrum",
            "title": "Nostrum.",
            "url": "https://molestiae-dignissimos-architecto-aut.pl",
            "short_content": "Dolorum placeat et ratione. Natus harum tempora ut rerum sit voluptas. Fuga fugit praesentium rerum quibusdam aliquam recusandae quam velit. Quia mollitia laboriosam est assumenda ut iusto dolores. Illo consequuntur ducimus molestiae quo totam corpor",
            "content": "Dolorum placeat et ratione. Natus harum tempora ut rerum sit voluptas. Fuga fugit praesentium rerum quibusdam aliquam recusandae quam velit. Quia mollitia laboriosam est assumenda ut iusto dolores. Illo consequuntur ducimus molestiae quo totam corporis. Corrupti quibusdam eos rerum.",
            "content_html": "Dolorum placeat et ratione. Natus harum tempora ut rerum sit voluptas. Fuga fugit praesentium rerum quibusdam aliquam recusandae quam velit. Quia mollitia laboriosam est assumenda ut iusto dolores. Illo consequuntur ducimus molestiae quo totam corporis. Corrupti quibusdam eos rerum.",
            "less_content_html": "Dolorum placeat et ratione. Natus harum tempora ut rerum sit voluptas. Fuga fugit praesentium rerum quibusdam aliquam recusandae quam velit. Quia mollitia laboriosam est assumenda ut iusto dolores. Illo consequuntur ducimus molestiae quo totam corpor... <a href=\"https://demo.idir.intelekt.net.pl/dirs/nostrum\">show more &raquo</a>",
            "thumbnail_url": "https://idir.test/thumbnails?url=eyJpdiI6IjNoWG0yc21KNkEwR251bFRwcGw2NXc9PSIsInZhbHVlIjoiaG9wSnhQUDhxMjU1VGZLR1gvNkRUeTdBWXRiVlBsQzM0VHoraElXOUlwc09WY2dQbzhBUkdVdDFkWlBoN0NObyIsIm1hYyI6Ijc4MTY1OGNkNWQyZGEzYTM5MjY3N2M4MTFjZDkwMjQ4Nzg2MTk0Y2JkM2RiNjgwMzJhYzdjOWE1ODIwYTE0YjEiLCJ0YWciOiIifQ==",
            "sum_rating": "0.00",
            "created_at": "2022-10-06T18:01:40.000000Z",
            "updated_at": "2022-10-06T18:01:40.000000Z",
            "categories": [
                {
                    "id": 1452,
                    "name": "Et",
                    "slug": "et",
                    "icon": null,
                    "status": {
                        "value": 1,
                        "label": "active"
                    },
                    "real_depth": 0,
                    "created_at": "2022-10-06T18:01:40.000000Z",
                    "updated_at": "2022-10-06T18:01:40.000000Z"
                }
            ],
            "links": []
        }
    ]
}
 

Request      

POST api/user/dirs

GET api/user/dirs

Body Parameters

page  integer optional  

filter  object optional  

filter.except  integer[] optional  

Array containing IDs, excluding records from the list.

filter.search  string optional  

Search by keyword. Must be at least 3 characters. Must not be greater than 255 characters.

filter.status  integer optional  

Must be between 0 and 5.

filter.group  integer optional  

ID of Group relationship.

filter.orderby  string optional  

Sorting the result list. Must be one of created_at|asc, created_at|desc, updated_at|asc, updated_at|desc, title|asc, title|desc, sum_rating|desc, sum_rating|asc, click|asc, click|desc, view|asc, or view|desc.

filter.paginate  integer optional  

Number of records in the list. Must be one of 25, 50, or 100.

Response

Response Fields

id  integer  

slug  string  

title  string  

short_content  string  

A shortened version of the post without HTML formatting.

content  string  

Post without HTML formatting.

content_html  string  

Post with HTML formatting.

less_content_html  string  

Post with HTML formatting with "show more" button.

notes  string  

(available only for admin.dirs.view or owner) Additional infos for moderator.

url  string  

thumbnail_url  string  

sum_rating  string  

Average rating for an entry.

status  object  

(available only for api.dirs.view or owner)

privileged_at  string  

(available only for api.dirs.view or owner) Start date of premium time.

priveleged_to  string  

(available only for api.dirs.view or owner) End date of premium time. If null and privileged_at not null then premium time is unlimited.

created_at  string  

updated_at  string  

group  object  

(available only for api.dirs.view or owner) Contains relationship Group.

user  object  

(available only for admin.dirs.view or owner) Contains relationship User.

categories  object[]  

Contains relationship Categories.

tags  object[]  

Contains relationship Tags.

fields  object[]  

Contains relationship custom Fields.

links  object  

Contains links to resources on the website and in the administration panel.

meta  object  

Paging, filtering and sorting information.

Authentication

Routes:

/routes/vendor/icore/api/auth.php

Controllers:

N1ebieski\ICore\Http\Controllers\Api\Auth\RegisterController
N1ebieski\ICore\Http\Controllers\Api\Auth\TokenController

Token

Create access token and (optional) refresh token.

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/token" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"kontakt@demo.idir.intelekt.net.pl\",
    \"password\": \"demo1234\",
    \"remember\": true
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/token"
);

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

let body = {
    "email": "kontakt@demo.idir.intelekt.net.pl",
    "password": "demo1234",
    "remember": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/token',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'kontakt@demo.idir.intelekt.net.pl',
            'password' => 'demo1234',
            'remember' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/token'
payload = {
    "email": "kontakt@demo.idir.intelekt.net.pl",
    "password": "demo1234",
    "remember": true
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (201, success):


{
    "access_token": "1|LN8Gmqe6cRHQpPr5X5GW9wFXuqHVK09L8FSb7Ju9",
    "refresh_token": "2|hVHAhrgiBmSbyYjbVAC17wjwAJyKK8TQmhglBAtM"
}
 

Request      

POST api/token

Body Parameters

email  string  

password  string  

remember  boolean optional  

Response

Response Fields

access_token  string  

refresh_token  string  

(only if remember param was true)

Register

Create user and send email verification notification

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"N1ebieski\",
    \"email\": \"example@example.pl\",
    \"password\": \"demo1234\",
    \"password_confirmation\": \"demo1234\",
    \"privacy_agreement\": true,
    \"contact_agreement\": true,
    \"marketing_agreement\": true
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/register"
);

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

let body = {
    "name": "N1ebieski",
    "email": "example@example.pl",
    "password": "demo1234",
    "password_confirmation": "demo1234",
    "privacy_agreement": true,
    "contact_agreement": true,
    "marketing_agreement": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/register',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'N1ebieski',
            'email' => 'example@example.pl',
            'password' => 'demo1234',
            'password_confirmation' => 'demo1234',
            'privacy_agreement' => true,
            'contact_agreement' => true,
            'marketing_agreement' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/register'
payload = {
    "name": "N1ebieski",
    "email": "example@example.pl",
    "password": "demo1234",
    "password_confirmation": "demo1234",
    "privacy_agreement": true,
    "contact_agreement": true,
    "marketing_agreement": true
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": {
        "id": 11879,
        "name": "Prof. Oswaldo Nitzsche V",
        "status": {
            "value": 1,
            "label": "active"
        },
        "created_at": "2022-10-06T18:01:44.000000Z",
        "updated_at": "2022-10-06T18:01:44.000000Z",
        "roles": [
            {
                "id": 3,
                "name": "user",
                "created_at": "2022-09-16T00:16:56.000000Z",
                "updated_at": "2022-09-16T00:16:56.000000Z"
            }
        ]
    }
}
 

Request      

POST api/register

Body Parameters

name  string  

email  string  

password  string  

password_confirmation  string  

privacy_agreement  boolean  

Acceptance of privacy policy

contact_agreement  boolean  

Acceptance of receiving e-mail system notifications

marketing_agreement  boolean optional  

Acceptance of receiving marketing information notifications

Response

Response Fields

id  integer  

name  string  

ip  string  

(available only for admin.users.view).

email  string  

(available only for admin.users.view or owner).

status  object  

Contains int value and string label

marketing  object  

Email marketing consent, contains int value and string label (available only for admin.users.view or owner).

created_at  string  

updated_at  string  

roles  object[]  

Contains relationships Roles.

socialites  object[]  

Contains relationships Socialites (available only for admin.users.view or owner).

Revoke token

requires authentication

Revoke access token and refresh token.

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/revoke" \
    --header "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/revoke"
);

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

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/revoke',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_ACCESS_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/revoke'
headers = {
  'Authorization': 'Bearer {YOUR_ACCESS_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Example response (204, success):

[Empty response]
 

Request      

POST api/revoke

Refresh token

requires authentication

Create new access token and refresh token.

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/refresh" \
    --header "Authorization: Bearer {YOUR_REFRESH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/refresh"
);

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

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/refresh',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_REFRESH_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/refresh'
headers = {
  'Authorization': 'Bearer {YOUR_REFRESH_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Example response (201, success):


{
    "access_token": "3|LN8Gmqe6cRHQpPr5X5GW9wFXuqHVK09L8FSb7Ju9",
    "refresh_token": "4|hVHAhrgiBmSbyYjbVAC17wjwAJyKK8TQmhglBAtM"
}
 

Request      

POST api/refresh

Response

Response Fields

access_token  string  

refresh_token  string  

Categories

Routes:

/routes/vendor/icore/api/categories.php
/routes/vendor/idir/api/categories.php

Controllers:

N1ebieski\ICore\Http\Controllers\Api\Category\CategoryController
N1ebieski\ICore\Http\Controllers\Api\Category\Post\CategoryController
N1ebieski\IDir\Http\Controllers\Api\Category\Dir\CategoryController

Resource:

N1ebieski\ICore\Http\Resources\Category\CategoryResource

Permissions:

Index of dir's categories

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/categories/dir/index" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"page\": 1,
    \"filter\": {
        \"except\": [],
        \"search\": \"\",
        \"status\": 1,
        \"parent\": \"\",
        \"orderby\": \"\",
        \"paginate\": \"\"
    }
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/categories/dir/index"
);

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

let body = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "parent": "",
        "orderby": "",
        "paginate": ""
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/categories/dir/index',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'page' => 1,
            'filter' => [
                'except' => [],
                'search' => '',
                'status' => 1,
                'parent' => '',
                'orderby' => '',
                'paginate' => '',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/categories/dir/index'
payload = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "parent": "",
        "orderby": "",
        "paginate": ""
    }
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": [
        {
            "id": 1459,
            "name": "Dicta qui",
            "slug": "dicta-qui",
            "icon": null,
            "status": {
                "value": 1,
                "label": "active"
            },
            "real_depth": 0,
            "created_at": "2022-10-06T18:01:42.000000Z",
            "updated_at": "2022-10-06T18:01:42.000000Z"
        },
        {
            "id": 1460,
            "name": "Reiciendis tempora",
            "slug": "reiciendis-tempora",
            "icon": null,
            "status": {
                "value": 1,
                "label": "active"
            },
            "real_depth": 0,
            "created_at": "2022-10-06T18:01:42.000000Z",
            "updated_at": "2022-10-06T18:01:42.000000Z"
        }
    ]
}
 

Request      

POST api/categories/dir/index

GET api/categories/dir/index

Body Parameters

page  integer optional  

filter  object optional  

filter.except  integer[] optional  

Array containing IDs, excluding records from the list.

filter.search  string optional  

Search by keyword. Must be at least 3 characters. Must not be greater than 255 characters.

filter.status  integer optional  

Must be one of 1 or 0 (available only for admin.categories.view).

filter.parent  integer optional  

ID of category parent. If 0, shows only roots.

filter.orderby  string optional  

Sorting the result list. Must be one of created_at|asc, created_at|desc, updated_at|asc, updated_at|desc, name|asc, name|desc, position|asc, position|desc, real_depth|asc, or real_depth|desc.

filter.paginate  integer optional  

Number of records in the list. Must be one of 25, 50, or 100.

Response

Response Fields

id  integer  

name  string  

slug  string  

icon  string  

Class of icon.

status  object  

Contains int value and string label.

real_depth  integer  

Level of hierarchy.

created_at  string  

updated_at  string  

ancestors  object[]  

Contains relationship Category ancestors (parent and higher).

meta  object  

Paging, filtering and sorting information.

Index of post's categories

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/categories/post/index" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"page\": 1,
    \"filter\": {
        \"except\": [],
        \"search\": \"\",
        \"status\": 1,
        \"parent\": \"\",
        \"orderby\": \"\",
        \"paginate\": \"\"
    }
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/categories/post/index"
);

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

let body = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "parent": "",
        "orderby": "",
        "paginate": ""
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/categories/post/index',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'page' => 1,
            'filter' => [
                'except' => [],
                'search' => '',
                'status' => 1,
                'parent' => '',
                'orderby' => '',
                'paginate' => '',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/categories/post/index'
payload = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "parent": "",
        "orderby": "",
        "paginate": ""
    }
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": [
        {
            "id": 1461,
            "name": "Dolorum amet",
            "slug": "dolorum-amet",
            "icon": null,
            "status": {
                "value": 1,
                "label": "active"
            },
            "real_depth": 0,
            "created_at": "2022-10-06T18:01:43.000000Z",
            "updated_at": "2022-10-06T18:01:43.000000Z"
        },
        {
            "id": 1462,
            "name": "Officia et",
            "slug": "officia-et",
            "icon": null,
            "status": {
                "value": 1,
                "label": "active"
            },
            "real_depth": 0,
            "created_at": "2022-10-06T18:01:43.000000Z",
            "updated_at": "2022-10-06T18:01:43.000000Z"
        }
    ]
}
 

Request      

POST api/categories/post/index

GET api/categories/post/index

Body Parameters

page  integer optional  

filter  object optional  

filter.except  integer[] optional  

Array containing IDs, excluding records from the list.

filter.search  string optional  

Search by keyword. Must be at least 3 characters. Must not be greater than 255 characters.

filter.status  integer optional  

Must be one of 1 or 0 (available only for admin.categories.view).

filter.parent  integer optional  

ID of category parent. If 0, shows only roots.

filter.orderby  string optional  

Sorting the result list. Must be one of created_at|asc, created_at|desc, updated_at|asc, updated_at|desc, name|asc, name|desc, position|asc, position|desc, real_depth|asc, or real_depth|desc.

filter.paginate  integer optional  

Number of records in the list. Must be one of 25, 50, or 100.

Response

Response Fields

id  integer  

name  string  

slug  string  

icon  string  

Class of icon.

status  object  

Contains int value and string label.

real_depth  integer  

Level of hierarchy.

created_at  string  

updated_at  string  

ancestors  object[]  

Contains relationship Category ancestors (parent and higher).

meta  object  

Paging, filtering and sorting information.

Index of all categories

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/categories/index" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"page\": 1,
    \"filter\": {
        \"except\": [],
        \"search\": \"\",
        \"status\": 1,
        \"parent\": \"\",
        \"orderby\": \"\",
        \"paginate\": \"\"
    }
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/categories/index"
);

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

let body = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "parent": "",
        "orderby": "",
        "paginate": ""
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/categories/index',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'page' => 1,
            'filter' => [
                'except' => [],
                'search' => '',
                'status' => 1,
                'parent' => '',
                'orderby' => '',
                'paginate' => '',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/categories/index'
payload = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "parent": "",
        "orderby": "",
        "paginate": ""
    }
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": [
        {
            "id": 1463,
            "name": "Hic fuga",
            "slug": "hic-fuga",
            "icon": null,
            "status": {
                "value": 1,
                "label": "active"
            },
            "real_depth": 0,
            "created_at": "2022-10-06T18:01:44.000000Z",
            "updated_at": "2022-10-06T18:01:44.000000Z"
        },
        {
            "id": 1464,
            "name": "Est sed",
            "slug": "est-sed",
            "icon": null,
            "status": {
                "value": 1,
                "label": "active"
            },
            "real_depth": 0,
            "created_at": "2022-10-06T18:01:44.000000Z",
            "updated_at": "2022-10-06T18:01:44.000000Z"
        }
    ]
}
 

Request      

POST api/categories/index

GET api/categories/index

Body Parameters

page  integer optional  

filter  object optional  

filter.except  integer[] optional  

Array containing IDs, excluding records from the list.

filter.search  string optional  

Search by keyword. Must be at least 3 characters. Must not be greater than 255 characters.

filter.status  integer optional  

Must be one of 1 or 0 (available only for admin.categories.view).

filter.parent  integer optional  

ID of category parent. If 0, shows only roots.

filter.orderby  string optional  

Sorting the result list. Must be one of created_at|asc, created_at|desc, updated_at|asc, updated_at|desc, name|asc, name|desc, position|asc, position|desc, real_depth|asc, or real_depth|desc.

filter.paginate  integer optional  

Number of records in the list. Must be one of 25, 50, or 100.

Response

Response Fields

id  integer  

name  string  

slug  string  

icon  string  

Class of icon.

status  object  

Contains int value and string label.

real_depth  integer  

Level of hierarchy.

created_at  string  

updated_at  string  

ancestors  object[]  

Contains relationship Category ancestors (parent and higher).

meta  object  

Paging, filtering and sorting information.

Dirs

Routes:

/routes/vendor/idir/api/dirs.php

Controller:

N1ebieski\IDir\Http\Controllers\Api\Dir\DirController

Resource:

N1ebieski\IDir\Http\Resources\Dir\DirResource

Permissions:

Index of dirs

requires authentication

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/dirs/index" \
    --header "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"page\": 1,
    \"filter\": {
        \"except\": [],
        \"search\": \"\",
        \"status\": 1,
        \"group\": \"\",
        \"category\": \"\",
        \"orderby\": \"\",
        \"paginate\": \"\"
    }
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/dirs/index"
);

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

let body = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "group": "",
        "category": "",
        "orderby": "",
        "paginate": ""
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/dirs/index',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_ACCESS_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'page' => 1,
            'filter' => [
                'except' => [],
                'search' => '',
                'status' => 1,
                'group' => '',
                'category' => '',
                'orderby' => '',
                'paginate' => '',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/dirs/index'
payload = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "group": "",
        "category": "",
        "orderby": "",
        "paginate": ""
    }
}
headers = {
  'Authorization': 'Bearer {YOUR_ACCESS_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": [
        {
            "id": 13324,
            "slug": "voluptate-enim",
            "title": "Voluptate enim.",
            "url": "http://exercitationem-rerum-veritatis-quod-aspernatur-deleniti.pl",
            "short_content": "Reprehenderit vel et et. Illum rerum doloremque reiciendis nesciunt id. Qui voluptatem facere quia porro eveniet. Modi qui excepturi qui odio velit dolorem magnam. Omnis ut sed quod iure aut voluptatum harum. Explicabo doloremque aut doloribus nisi s",
            "content": "Reprehenderit vel et et. Illum rerum doloremque reiciendis nesciunt id. Qui voluptatem facere quia porro eveniet. Modi qui excepturi qui odio velit dolorem magnam. Omnis ut sed quod iure aut voluptatum harum. Explicabo doloremque aut doloribus nisi sunt. Sapiente ex voluptatem occaecati est iure adipisci eum. Quo voluptatibus asperiores et.",
            "content_html": "Reprehenderit vel et et. Illum rerum doloremque reiciendis nesciunt id. Qui voluptatem facere quia porro eveniet. Modi qui excepturi qui odio velit dolorem magnam. Omnis ut sed quod iure aut voluptatum harum. Explicabo doloremque aut doloribus nisi sunt. Sapiente ex voluptatem occaecati est iure adipisci eum. Quo voluptatibus asperiores et.",
            "less_content_html": "Reprehenderit vel et et. Illum rerum doloremque reiciendis nesciunt id. Qui voluptatem facere quia porro eveniet. Modi qui excepturi qui odio velit dolorem magnam. Omnis ut sed quod iure aut voluptatum harum. Explicabo doloremque aut doloribus nisi s... <a href=\"http://demo.idir.intelekt.net.pl/dirs/voluptate-enim\">show more &raquo</a>",
            "thumbnail_url": "https://idir.test/thumbnails?url=eyJpdiI6ImN6eGNvRmtQaE4xZSs1eUFBQ0NOZlE9PSIsInZhbHVlIjoieE9UTXIrcW80ckhUY2h2eXVCbHlFUDcwaDlkNGMvNHg0TVB6V3g2TExSM0JvMGVFRWNIallLOHJvM2NlNFk2TjgzRjVDNVpEQ0t0c05uSmNGeVFpUmdjRkQwS2R6UXRBRlg4b0JwU2l0TVk9IiwibWFjIjoiNzE5Y2RjNTNhNjJhZGI5MTk0MDcyNjM4ZWNiZDU5NzRkMWI4NTg5YjQ4OGQ2MjE1MTk0NWE2OTdkMTk4ZDQ2NyIsInRhZyI6IiJ9",
            "sum_rating": "0.00",
            "created_at": "2022-10-06T18:01:41.000000Z",
            "updated_at": "2022-10-06T18:01:41.000000Z",
            "categories": [
                {
                    "id": 1456,
                    "name": "Temporibus",
                    "slug": "temporibus",
                    "icon": null,
                    "status": {
                        "value": 1,
                        "label": "active"
                    },
                    "real_depth": 0,
                    "created_at": "2022-10-06T18:01:42.000000Z",
                    "updated_at": "2022-10-06T18:01:42.000000Z"
                }
            ],
            "links": []
        },
        {
            "id": 13325,
            "slug": "amet",
            "title": "Amet.",
            "url": "https://nostrum-magnam-et-delectus-eum-consequuntur-voluptates-quo-nemo.pl",
            "short_content": "Accusantium suscipit praesentium ut eveniet consectetur ullam animi. Aut vel aspernatur magnam repellat qui a magnam. Et ut quasi qui adipisci quia vel et. Ipsa et nostrum aliquam. Impedit aut architecto illo illo sint voluptas amet fugiat. Aut velit",
            "content": "Accusantium suscipit praesentium ut eveniet consectetur ullam animi. Aut vel aspernatur magnam repellat qui a magnam. Et ut quasi qui adipisci quia vel et. Ipsa et nostrum aliquam. Impedit aut architecto illo illo sint voluptas amet fugiat. Aut velit nulla sit modi. Exercitationem rerum dolor laborum corporis nesciunt.",
            "content_html": "Accusantium suscipit praesentium ut eveniet consectetur ullam animi. Aut vel aspernatur magnam repellat qui a magnam. Et ut quasi qui adipisci quia vel et. Ipsa et nostrum aliquam. Impedit aut architecto illo illo sint voluptas amet fugiat. Aut velit nulla sit modi. Exercitationem rerum dolor laborum corporis nesciunt.",
            "less_content_html": "Accusantium suscipit praesentium ut eveniet consectetur ullam animi. Aut vel aspernatur magnam repellat qui a magnam. Et ut quasi qui adipisci quia vel et. Ipsa et nostrum aliquam. Impedit aut architecto illo illo sint voluptas amet fugiat. Aut velit... <a href=\"http://demo.idir.intelekt.net.pl/dirs/amet\">show more &raquo</a>",
            "thumbnail_url": "https://idir.test/thumbnails?url=eyJpdiI6IlJRb2VmaERlWE50QWZrY2tYbm0xOHc9PSIsInZhbHVlIjoiNDVWQ3FwcklEak5US2dRbEJyaFBKOENaVmxKbnNGc1FDSlE4bitRclFxVFJPdXZDOHN4TU5iWUFzVWJoM3dzQkorblpVSlpPenBva3F4SkdDVzIrR3dUVUdRMEdZaFJZQ3pySHRnUGlxV009IiwibWFjIjoiMzgyNzUxNjYxNjFiODBkODM1YWViZmUwZWI5NmRjMjM3ZTJlNjJmYTY5ODRiMjMyOWE5ZjdiMjNjOGI1ZjQwZSIsInRhZyI6IiJ9",
            "sum_rating": "0.00",
            "created_at": "2022-10-06T18:01:42.000000Z",
            "updated_at": "2022-10-06T18:01:42.000000Z",
            "categories": [
                {
                    "id": 1457,
                    "name": "Dolores",
                    "slug": "dolores",
                    "icon": null,
                    "status": {
                        "value": 1,
                        "label": "active"
                    },
                    "real_depth": 0,
                    "created_at": "2022-10-06T18:01:42.000000Z",
                    "updated_at": "2022-10-06T18:01:42.000000Z"
                }
            ],
            "links": []
        }
    ]
}
 

Request      

POST api/dirs/index

GET api/dirs/index

Body Parameters

page  integer optional  

filter  object optional  

filter.except  integer[] optional  

Array containing IDs, excluding records from the list.

filter.search  string optional  

Search by keyword. Must be at least 3 characters. Must not be greater than 255 characters.

filter.status  integer optional  

Must be one of 1 or (available only for admin.dirs.view): 0, 2, 3, 4, 5.

filter.group  integer optional  

ID of Group relationship.

filter.category  integer optional  

ID of Category relationship.

filter.orderby  string optional  

Sorting the result list. Must be one of created_at|asc, created_at|desc, updated_at|asc, updated_at|desc, title|asc, title|desc, sum_rating|desc, sum_rating|asc, click|desc, click|asc, view|desc, or view|asc.

filter.paginate  integer optional  

Number of records in the list. Must be one of 25, 50, or 100.

filter.author  integer optional  

(available only for admin.dirs.view) ID of User relationship.

filter.report  integer optional  

(available only for admin.dirs.view) Must be one of 1 or 0.

Response

Response Fields

id  integer  

slug  string  

title  string  

short_content  string  

A shortened version of the post without HTML formatting.

content  string  

Post without HTML formatting.

content_html  string  

Post with HTML formatting.

less_content_html  string  

Post with HTML formatting with "show more" button.

notes  string  

(available only for admin.dirs.view or owner) Additional infos for moderator.

url  string  

thumbnail_url  string  

sum_rating  string  

Average rating for an entry.

status  object  

(available only for api.dirs.view or owner)

privileged_at  string  

(available only for api.dirs.view or owner) Start date of premium time.

priveleged_to  string  

(available only for api.dirs.view or owner) End date of premium time. If null and privileged_at not null then premium time is unlimited.

created_at  string  

updated_at  string  

group  object  

(available only for api.dirs.view or owner) Contains relationship Group.

user  object  

(available only for admin.dirs.view or owner) Contains relationship User.

categories  object[]  

Contains relationship Categories.

tags  object[]  

Contains relationship Tags.

fields  object[]  

Contains relationship custom Fields.

links  object  

Contains links to resources on the website and in the administration panel.

meta  object  

Paging, filtering and sorting information.

Delete dir

requires authentication

Example request:
curl --request DELETE \
    "https://demo.idir.intelekt.net.pl/api/dirs/" \
    --header "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/dirs/"
);

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

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://demo.idir.intelekt.net.pl/api/dirs/',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_ACCESS_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/dirs/'
headers = {
  'Authorization': 'Bearer {YOUR_ACCESS_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers)
response.json()

Example response (204):

[Empty response]
 

Request      

DELETE api/dirs/{dir_id}

URL Parameters

dir_id  integer  

The ID of the dir.

Body Parameters

reason  string optional  

(available only for admin.dirs.delete).

Edit status dir

requires authentication

Example request:
curl --request PATCH \
    "https://demo.idir.intelekt.net.pl/api/dirs//status" \
    --header "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": 1,
    \"reason\": \"aut\"
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/dirs//status"
);

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

let body = {
    "status": 1,
    "reason": "aut"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://demo.idir.intelekt.net.pl/api/dirs//status',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_ACCESS_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'status' => 1,
            'reason' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/dirs//status'
payload = {
    "status": 1,
    "reason": "aut"
}
headers = {
  'Authorization': 'Bearer {YOUR_ACCESS_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PATCH', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": {
        "id": 13322,
        "slug": "quia-enim",
        "title": "Quia enim.",
        "url": "http://ad-molestiae-harum-cupiditate-voluptatem-voluptate-hic-aut.pl",
        "short_content": "Consequatur quis ea nihil sequi ipsum itaque. Enim atque commodi aut corrupti doloremque porro. Nisi cupiditate rerum modi pariatur dolore sunt. Voluptas veniam impedit hic accusamus non deserunt maxime iure.",
        "content": "Consequatur quis ea nihil sequi ipsum itaque. Enim atque commodi aut corrupti doloremque porro. Nisi cupiditate rerum modi pariatur dolore sunt. Voluptas veniam impedit hic accusamus non deserunt maxime iure.",
        "content_html": "Consequatur quis ea nihil sequi ipsum itaque. Enim atque commodi aut corrupti doloremque porro. Nisi cupiditate rerum modi pariatur dolore sunt. Voluptas veniam impedit hic accusamus non deserunt maxime iure.",
        "less_content_html": "Consequatur quis ea nihil sequi ipsum itaque. Enim atque commodi aut corrupti doloremque porro. Nisi cupiditate rerum modi pariatur dolore sunt. Voluptas veniam impedit hic accusamus non deserunt maxime iure.... <a href=\"http://demo.idir.intelekt.net.pl/dirs/quia-enim\">show more &raquo</a>",
        "thumbnail_url": "https://idir.test/thumbnails?url=eyJpdiI6IitzZEc1eHBRbHBveEFHZDlRVUFqbEE9PSIsInZhbHVlIjoiVGc4VGFXbGI4cWE4aC9aMm8vV1R6SklVZ0xZY1dIZGxCbVo5aWVLYjR6VWZBS1JlWlM4QVJuSWdmU2hrTS9CaitBZmNhQXgrWHVjeGxpRXdZcTA2ZG42MWNJZUxGTXR1clhMazJBQUFxTG89IiwibWFjIjoiMjlhYmI3ZjJlYzk2MmVkOTgzYWM0MjU5OTc0MjQ2NjFlNzRhYzhjNzM0MThiNTc0ODY2NmIwNjk2YTJhNzQxZSIsInRhZyI6IiJ9",
        "sum_rating": "0.00",
        "created_at": "2022-10-06T18:01:41.000000Z",
        "updated_at": "2022-10-06T18:01:41.000000Z",
        "categories": [
            {
                "id": 1454,
                "name": "Consequatur",
                "slug": "consequatur",
                "icon": null,
                "status": {
                    "value": 1,
                    "label": "active"
                },
                "real_depth": 0,
                "created_at": "2022-10-06T18:01:41.000000Z",
                "updated_at": "2022-10-06T18:01:41.000000Z"
            }
        ],
        "links": []
    }
}
 

Request      

PATCH api/dirs/{dir_id}/status

URL Parameters

dir_id  integer  

The ID of the dir.

Body Parameters

status  integer  

Must be one of 1, 0, or 5.

reason  string optional  

Response

Response Fields

id  integer  

slug  string  

title  string  

short_content  string  

A shortened version of the post without HTML formatting.

content  string  

Post without HTML formatting.

content_html  string  

Post with HTML formatting.

less_content_html  string  

Post with HTML formatting with "show more" button.

notes  string  

(available only for admin.dirs.view or owner) Additional infos for moderator.

url  string  

thumbnail_url  string  

sum_rating  string  

Average rating for an entry.

status  object  

(available only for api.dirs.view or owner)

privileged_at  string  

(available only for api.dirs.view or owner) Start date of premium time.

priveleged_to  string  

(available only for api.dirs.view or owner) End date of premium time. If null and privileged_at not null then premium time is unlimited.

created_at  string  

updated_at  string  

group  object  

(available only for api.dirs.view or owner) Contains relationship Group.

user  object  

(available only for admin.dirs.view or owner) Contains relationship User.

categories  object[]  

Contains relationship Categories.

tags  object[]  

Contains relationship Tags.

fields  object[]  

Contains relationship custom Fields.

links  object  

Contains links to resources on the website and in the administration panel.

meta  object  

Paging, filtering and sorting information.

Edit dir

requires authentication

Example request:
curl --request PUT \
    "https://demo.idir.intelekt.net.pl/api/dirs//group/1" \
    --header "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"Lorem ipsum dolor sit amet\",
    \"tags\": [
        \"ffarfqgf\"
    ],
    \"categories\": [
        16
    ],
    \"content_html\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",
    \"notes\": \"\",
    \"url\": \"https:\\/\\/demo.idir.intelekt.net.pl\",
    \"captcha\": \"autem\"
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/dirs//group/1"
);

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

let body = {
    "title": "Lorem ipsum dolor sit amet",
    "tags": [
        "ffarfqgf"
    ],
    "categories": [
        16
    ],
    "content_html": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
    "notes": "",
    "url": "https:\/\/demo.idir.intelekt.net.pl",
    "captcha": "autem"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://demo.idir.intelekt.net.pl/api/dirs//group/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_ACCESS_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'title' => 'Lorem ipsum dolor sit amet',
            'tags' => [
                'ffarfqgf',
            ],
            'categories' => [
                16,
            ],
            'content_html' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
            'notes' => '',
            'url' => 'https://demo.idir.intelekt.net.pl',
            'captcha' => 'autem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/dirs//group/1'
payload = {
    "title": "Lorem ipsum dolor sit amet",
    "tags": [
        "ffarfqgf"
    ],
    "categories": [
        16
    ],
    "content_html": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
    "notes": "",
    "url": "https:\/\/demo.idir.intelekt.net.pl",
    "captcha": "autem"
}
headers = {
  'Authorization': 'Bearer {YOUR_ACCESS_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": {
        "id": 13323,
        "slug": "optio-corrupti-quibusdam-qui-vitae",
        "title": "Optio corrupti quibusdam qui vitae.",
        "url": "https://ipsa-dolores-voluptas-omnis-veniam-est.pl",
        "short_content": "Velit necessitatibus nostrum dolores. Commodi quidem quaerat nobis eos sed. Et deleniti cupiditate reiciendis. Neque accusantium aut vel ullam. Quaerat illum saepe quia officiis totam aut cumque. Et aperiam quod blanditiis fugit dolores. Harum quaera",
        "content": "Velit necessitatibus nostrum dolores. Commodi quidem quaerat nobis eos sed. Et deleniti cupiditate reiciendis. Neque accusantium aut vel ullam. Quaerat illum saepe quia officiis totam aut cumque. Et aperiam quod blanditiis fugit dolores. Harum quaerat ut libero aliquam ea.",
        "content_html": "Velit necessitatibus nostrum dolores. Commodi quidem quaerat nobis eos sed. Et deleniti cupiditate reiciendis. Neque accusantium aut vel ullam. Quaerat illum saepe quia officiis totam aut cumque. Et aperiam quod blanditiis fugit dolores. Harum quaerat ut libero aliquam ea.",
        "less_content_html": "Velit necessitatibus nostrum dolores. Commodi quidem quaerat nobis eos sed. Et deleniti cupiditate reiciendis. Neque accusantium aut vel ullam. Quaerat illum saepe quia officiis totam aut cumque. Et aperiam quod blanditiis fugit dolores. Harum quaera... <a href=\"http://demo.idir.intelekt.net.pl/dirs/optio-corrupti-quibusdam-qui-vitae\">show more &raquo</a>",
        "thumbnail_url": "https://idir.test/thumbnails?url=eyJpdiI6IjU1M1o4QUVPUDRmcE5kQlZGM3Z1bWc9PSIsInZhbHVlIjoiVzRseWkxZWgzKzd6Y0tQcDRZbFVUVVQrNy9HWmNlVGVPTFdhY3RxM3hHbkNCTVBiTWVUUU54QTVuL2JwdW1zWUl3VG43eXF2SVV4bFVzMExVZzlQQmc9PSIsIm1hYyI6ImM4MTU2MDU3YmI2OWQzNzNkOTkxYmI5MThmZDU5Y2EwZTkzYmY2MTJhOWRiZTE1Y2I4NTI4MmY0NDA4ZDI2OWYiLCJ0YWciOiIifQ==",
        "sum_rating": "0.00",
        "created_at": "2022-10-06T18:01:41.000000Z",
        "updated_at": "2022-10-06T18:01:41.000000Z",
        "categories": [
            {
                "id": 1455,
                "name": "Rerum",
                "slug": "rerum",
                "icon": null,
                "status": {
                    "value": 1,
                    "label": "active"
                },
                "real_depth": 0,
                "created_at": "2022-10-06T18:01:41.000000Z",
                "updated_at": "2022-10-06T18:01:41.000000Z"
            }
        ],
        "links": []
    }
}
 

Request      

PUT api/dirs/{dir_id}/group/{group_id}

URL Parameters

dir_id  integer  

The ID of the dir.

group_id  integer  

The ID of the group. If same as current and has active premium time then no new payment is required.

Body Parameters

title  string optional  

Must be between 3 and 100 characters.

tags  string[] optional  

Must be at least 3 characters. Must not be greater than 30 characters.

categories  integer[] optional  

Array containing category IDs.

content_html  string optional  

Description. Must be between 255 and 1000 characters.

notes  string optional  

Additional information for the moderator. Must be between 3 and 255 characters.

url  string optional  

Unique website url with http/https protocol.

backlink  integer optional  

ID of the selected backlink.

backlink_url  string optional  

Url with http/https protocol to backlink.

captcha  string  

Logic captcha response. Only required for free groups.

field  object[] optional  

Array containing additional form fields if the group allows it.

user  integer optional  

(available only for admin.dirs.edit) ID of User author. If null is no author.

payment_type  string optional  

If the group requires a payment, the selected type must be defined. Must be one of transfer, code_transfer, code_sms, or paypal_express.

payment_transfer  integer optional  

ID of the selected Price if payment_type is transfer.

payment_code_sms  integer optional  

ID of the selected Price if payment_type is code_sms.

code_sms  string optional  

Received code if payment_type is code_sms.

payment_code_transfer  integer optional  

ID of the selected Price if payment_type is code_transfer.

code_transfer  string optional  

Received code if payment_type is code_transfer.

payment_paypal_express  integer optional  

ID of the selected Price if payment_type is paypal_express.

Response

Response Fields

id  integer  

slug  string  

title  string  

short_content  string  

A shortened version of the post without HTML formatting.

content  string  

Post without HTML formatting.

content_html  string  

Post with HTML formatting.

less_content_html  string  

Post with HTML formatting with "show more" button.

notes  string  

(available only for admin.dirs.view or owner) Additional infos for moderator.

url  string  

thumbnail_url  string  

sum_rating  string  

Average rating for an entry.

status  object  

(available only for api.dirs.view or owner)

privileged_at  string  

(available only for api.dirs.view or owner) Start date of premium time.

priveleged_to  string  

(available only for api.dirs.view or owner) End date of premium time. If null and privileged_at not null then premium time is unlimited.

created_at  string  

updated_at  string  

group  object  

(available only for api.dirs.view or owner) Contains relationship Group.

user  object  

(available only for admin.dirs.view or owner) Contains relationship User.

categories  object[]  

Contains relationship Categories.

tags  object[]  

Contains relationship Tags.

fields  object[]  

Contains relationship custom Fields.

links  object  

Contains links to resources on the website and in the administration panel.

meta  object  

Paging, filtering and sorting information.

Create dir

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/dirs/group/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"Lorem ipsum dolor sit amet\",
    \"tags\": [
        \"hrqxnavcwwgtfqt\"
    ],
    \"categories\": [
        9
    ],
    \"content_html\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",
    \"notes\": \"\",
    \"url\": \"https:\\/\\/demo.idir.intelekt.net.pl\",
    \"email\": \"kontakt@intelekt.net.pl\",
    \"captcha\": \"natus\"
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/dirs/group/1"
);

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

let body = {
    "title": "Lorem ipsum dolor sit amet",
    "tags": [
        "hrqxnavcwwgtfqt"
    ],
    "categories": [
        9
    ],
    "content_html": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
    "notes": "",
    "url": "https:\/\/demo.idir.intelekt.net.pl",
    "email": "kontakt@intelekt.net.pl",
    "captcha": "natus"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/dirs/group/1',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'title' => 'Lorem ipsum dolor sit amet',
            'tags' => [
                'hrqxnavcwwgtfqt',
            ],
            'categories' => [
                9,
            ],
            'content_html' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
            'notes' => '',
            'url' => 'https://demo.idir.intelekt.net.pl',
            'email' => 'kontakt@intelekt.net.pl',
            'captcha' => 'natus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/dirs/group/1'
payload = {
    "title": "Lorem ipsum dolor sit amet",
    "tags": [
        "hrqxnavcwwgtfqt"
    ],
    "categories": [
        9
    ],
    "content_html": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
    "notes": "",
    "url": "https:\/\/demo.idir.intelekt.net.pl",
    "email": "kontakt@intelekt.net.pl",
    "captcha": "natus"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (201):


{
    "data": {
        "id": 13326,
        "slug": "quasi-neque-iste",
        "title": "Quasi neque iste.",
        "url": "https://distinctio-in-quo-dolorem-tempore-explicabo-expedita.pl",
        "short_content": "Sapiente nisi eos earum tempora. Quia dolore deserunt et aliquid distinctio. Accusantium facere iste repellendus. Explicabo aspernatur est et et sed ut consequatur. Libero quia eos explicabo animi pariatur nihil qui. Nulla quidem voluptatem tempora q",
        "content": "Sapiente nisi eos earum tempora. Quia dolore deserunt et aliquid distinctio. Accusantium facere iste repellendus. Explicabo aspernatur est et et sed ut consequatur. Libero quia eos explicabo animi pariatur nihil qui. Nulla quidem voluptatem tempora qui consequatur sit. Libero itaque nihil temporibus ut repellendus quod exercitationem ea.",
        "content_html": "Sapiente nisi eos earum tempora. Quia dolore deserunt et aliquid distinctio. Accusantium facere iste repellendus. Explicabo aspernatur est et et sed ut consequatur. Libero quia eos explicabo animi pariatur nihil qui. Nulla quidem voluptatem tempora qui consequatur sit. Libero itaque nihil temporibus ut repellendus quod exercitationem ea.",
        "less_content_html": "Sapiente nisi eos earum tempora. Quia dolore deserunt et aliquid distinctio. Accusantium facere iste repellendus. Explicabo aspernatur est et et sed ut consequatur. Libero quia eos explicabo animi pariatur nihil qui. Nulla quidem voluptatem tempora q... <a href=\"http://demo.idir.intelekt.net.pl/dirs/quasi-neque-iste\">show more &raquo</a>",
        "thumbnail_url": "https://idir.test/thumbnails?url=eyJpdiI6IkJtY0ovY1dETlFHYWVtZ2R2RUk3S0E9PSIsInZhbHVlIjoiakp0WkdWS2UwWDdkYVZRekhPb0haZXlCNG5NMG4yQUhqRTNVdU00eU1BWnYvR2FMN1pvRjE2S1g3QlR5RVlGY2xQYnNzUURBN0xVem9ITmRmYVhwc2c9PSIsIm1hYyI6IjcyM2QzMmNlYmVmODQ5OTlkOWY2MTc4YTdhZWU0NTY1MTRlMzEzMmMxZDlmZmVmYjEwMjcxNThkMTIzZTA0OGUiLCJ0YWciOiIifQ==",
        "sum_rating": "0.00",
        "created_at": "2022-10-06T18:01:42.000000Z",
        "updated_at": "2022-10-06T18:01:42.000000Z",
        "categories": [
            {
                "id": 1458,
                "name": "Magnam",
                "slug": "magnam",
                "icon": null,
                "status": {
                    "value": 1,
                    "label": "active"
                },
                "real_depth": 0,
                "created_at": "2022-10-06T18:01:42.000000Z",
                "updated_at": "2022-10-06T18:01:42.000000Z"
            }
        ],
        "links": []
    }
}
 

Request      

POST api/dirs/group/{group_id}

URL Parameters

group_id  integer  

The ID of the group.

Body Parameters

title  string  

Must be between 3 and 100 characters.

tags  string[] optional  

Must be at least 3 characters. Must not be greater than 30 characters.

categories  integer[]  

Array containing category IDs.

content_html  string  

Description. Must be between 255 and 1000 characters.

notes  string optional  

Additional information for the moderator. Must be between 3 and 255 characters.

url  string optional  

Unique website url with http/https protocol.

backlink  integer optional  

ID of the selected backlink.

backlink_url  string optional  

Url with http/https protocol to backlink.

email  string optional  

Email address, required if the user adds the entry as unauthenticated.

captcha  string  

Logic captcha response. Only required for free groups.

field  object[] optional  

Array containing additional form fields if the group allows it.

payment_type  string optional  

If the group requires a payment, the selected type must be defined. Must be one of transfer, code_transfer, code_sms, or paypal_express.

payment_transfer  integer optional  

ID of the selected Price if payment_type is transfer.

payment_code_sms  integer optional  

ID of the selected Price if payment_type is code_sms.

code_sms  string optional  

Received code if payment_type is code_sms.

payment_code_transfer  integer optional  

ID of the selected Price if payment_type is code_transfer.

code_transfer  string optional  

Received code if payment_type is code_transfer.

payment_paypal_express  integer optional  

ID of the selected Price if payment_type is paypal_express.

Response

Response Fields

id  integer  

slug  string  

title  string  

short_content  string  

A shortened version of the post without HTML formatting.

content  string  

Post without HTML formatting.

content_html  string  

Post with HTML formatting.

less_content_html  string  

Post with HTML formatting with "show more" button.

notes  string  

(available only for admin.dirs.view or owner) Additional infos for moderator.

url  string  

thumbnail_url  string  

sum_rating  string  

Average rating for an entry.

status  object  

(available only for api.dirs.view or owner)

privileged_at  string  

(available only for api.dirs.view or owner) Start date of premium time.

priveleged_to  string  

(available only for api.dirs.view or owner) End date of premium time. If null and privileged_at not null then premium time is unlimited.

created_at  string  

updated_at  string  

group  object  

(available only for api.dirs.view or owner) Contains relationship Group.

user  object  

(available only for admin.dirs.view or owner) Contains relationship User.

categories  object[]  

Contains relationship Categories.

tags  object[]  

Contains relationship Tags.

fields  object[]  

Contains relationship custom Fields.

links  object  

Contains links to resources on the website and in the administration panel.

meta  object  

Paging, filtering and sorting information.

Groups

Routes:

/routes/vendor/idir/api/groups.php

Controller:

N1ebieski\IDir\Http\Controllers\Api\Group\GroupController

Resource:

N1ebieski\IDir\Http\Resources\Group\GroupResource

Index of groups

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/groups/index" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"page\": 1,
    \"filter\": {
        \"except\": [],
        \"search\": \"\",
        \"visible\": 1,
        \"orderby\": \"\",
        \"paginate\": \"\"
    }
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/groups/index"
);

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

let body = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "visible": 1,
        "orderby": "",
        "paginate": ""
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/groups/index',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'page' => 1,
            'filter' => [
                'except' => [],
                'search' => '',
                'visible' => 1,
                'orderby' => '',
                'paginate' => '',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/groups/index'
payload = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "visible": 1,
        "orderby": "",
        "paginate": ""
    }
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": [
        {
            "id": 16,
            "slug": "sed",
            "position": 10,
            "name": "Sed",
            "desc": "Et ut assumenda rem corrupti fugiat non. Eaque omnis voluptas ipsa delectus et sint. Molestiae cumque voluptatem a rerum ut iure suscipit nesciunt. Quaerat ea et illo.",
            "border": null,
            "max_cats": 1,
            "max_models": 26,
            "max_models_daily": null,
            "visible": {
                "value": 1,
                "label": "public"
            },
            "apply_status": {
                "value": 0,
                "label": "pending acceptance"
            },
            "url": {
                "value": 2,
                "label": "required"
            },
            "backlink": {
                "value": 0,
                "label": "none"
            },
            "created_at": "2022-10-06T18:01:40.000000Z",
            "updated_at": "2022-10-06T18:01:40.000000Z",
            "alt": null,
            "privileges": [
                {
                    "id": 9,
                    "name": "additional options for editing content",
                    "created_at": "2022-09-16T00:16:56.000000Z",
                    "updated_at": "2022-09-16T00:16:56.000000Z"
                }
            ]
        },
        {
            "id": 17,
            "slug": "ipsam",
            "position": 11,
            "name": "Ipsam",
            "desc": "Quia cumque totam blanditiis. Ipsam possimus qui minima aliquam dolore. Quaerat quia aliquam ea ut atque. Neque nihil numquam dolor officia consequuntur nostrum eos. Et doloribus est incidunt in illum eos debitis. Incidunt ut aspernatur qui. Qui minus repudiandae voluptas quibusdam molestias.",
            "border": null,
            "max_cats": 2,
            "max_models": 19,
            "max_models_daily": null,
            "visible": {
                "value": 1,
                "label": "public"
            },
            "apply_status": {
                "value": 0,
                "label": "pending acceptance"
            },
            "url": {
                "value": 1,
                "label": "optional"
            },
            "backlink": {
                "value": 0,
                "label": "none"
            },
            "created_at": "2022-10-06T18:01:40.000000Z",
            "updated_at": "2022-10-06T18:01:40.000000Z",
            "alt": null,
            "privileges": [
                {
                    "id": 9,
                    "name": "additional options for editing content",
                    "created_at": "2022-09-16T00:16:56.000000Z",
                    "updated_at": "2022-09-16T00:16:56.000000Z"
                }
            ]
        }
    ]
}
 

Request      

POST api/groups/index

GET api/groups/index

Body Parameters

page  integer optional  

filter  object optional  

filter.except  integer[] optional  

Array containing IDs, excluding records from the list.

filter.search  string optional  

Search by keyword. Must be at least 3 characters. Must not be greater than 255 characters.

filter.visible  integer optional  

Must be one of 1 or 0 (available only for admin.groups.view).

filter.orderby  string optional  

Sorting the result list. Must be one of created_at|asc, created_at|desc, updated_at|asc, updated_at|desc, name|asc, name|desc, position|asc, or position|desc.

filter.paginate  integer optional  

Number of records in the list. Must be one of 25, 50, or 100.

Response

Response Fields

id  integer  

slug  string  

position  integer  

name  string  

desc  string  

border  string  

Class of border.

max_cats  integer  

Maximum number of categories to which the entry can be added.

max_models  integer  

Maximum number of entries that can be in the group.

max_models_daily  integer  

Daily maximum number of entries that can be in the group.

visible  integer  

Indicates whether the group is public or not.

apply_status  integer  

Entry status after adding.

url  integer  

Whether the url is require.

backlink  integer  

Whether the backlink is require.

created_at  string  

updated_at  string  

alt  object  

Contains relationship alternative Group. Informs to which group the entry will be dropped after expiry of the premium time. If null the entry will be deactivate.

privileges  object[]  

Contains relationship Privileges.

prices  object[]  

Contains relationship Prices.

fields  object[]  

Contains relationship custom Fields.

meta  object  

Paging, filtering and sorting information.

Payments

Routes:

/routes/vendor/idir/api/payments.php

Controller:

N1ebieski\IDir\Http\Controllers\Api\Payment\Dir\PaymentController

Resource:

N1ebieski\IDir\Http\Resources\Payment\PaymentResource

Show dir's payment

Example request:
curl --request GET \
    --get "https://demo.idir.intelekt.net.pl/api/payments//dir/" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/payments//dir/"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://demo.idir.intelekt.net.pl/api/payments//dir/',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/payments//dir/'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):


{
    "data": {
        "uuid": "04be27f2-2a1b-4ad6-9b60-c7a9de995a66",
        "driver": null,
        "status": {
            "value": 2,
            "label": "pending"
        },
        "created_at": "2022-10-06T18:01:40.000000Z",
        "updated_at": "2022-10-06T18:01:40.000000Z",
        "morph": {
            "id": 13321,
            "slug": "minus-omnis",
            "title": "Minus omnis.",
            "url": "http://eius-facere-illum-nisi-expedita.pl",
            "short_content": "Ut vitae illo repudiandae corrupti quia totam ad. Enim omnis ut quae nam illo facilis dignissimos qui. Sed reiciendis itaque quaerat necessitatibus non unde ullam. Et nam omnis rem ut. Minus qui qui magnam enim maiores non. Ipsum quia ab voluptatem s",
            "content": "Ut vitae illo repudiandae corrupti quia totam ad. Enim omnis ut quae nam illo facilis dignissimos qui. Sed reiciendis itaque quaerat necessitatibus non unde ullam. Et nam omnis rem ut. Minus qui qui magnam enim maiores non. Ipsum quia ab voluptatem sint dolores dolores sint. Temporibus qui consectetur dolorum.",
            "content_html": "Ut vitae illo repudiandae corrupti quia totam ad. Enim omnis ut quae nam illo facilis dignissimos qui. Sed reiciendis itaque quaerat necessitatibus non unde ullam. Et nam omnis rem ut. Minus qui qui magnam enim maiores non. Ipsum quia ab voluptatem sint dolores dolores sint. Temporibus qui consectetur dolorum.",
            "less_content_html": "Ut vitae illo repudiandae corrupti quia totam ad. Enim omnis ut quae nam illo facilis dignissimos qui. Sed reiciendis itaque quaerat necessitatibus non unde ullam. Et nam omnis rem ut. Minus qui qui magnam enim maiores non. Ipsum quia ab voluptatem s... <a href=\"http://demo.idir.intelekt.net.pl/dirs/minus-omnis\">show more &raquo</a>",
            "thumbnail_url": "https://idir.test/thumbnails?url=eyJpdiI6IlljZVZZZmg2TEFweEsxYWF2M1RQdXc9PSIsInZhbHVlIjoidFVrU3A4WkFwTVV0Qklub2xXSThtZGtSd0I2cEhvbWxvdGFzWkdobnNTU2RzeHBFRjBxVThaRG93eGJ2OG9KWiIsIm1hYyI6IjI4ODViOGIxMjRiYzMyODBhZTU1NDM2ZGViNzYwMGM4MjkyNWFjYzI3NmQ5ZmExNDlkOWQwZmY1NWZhY2Q1NDQiLCJ0YWciOiIifQ==",
            "sum_rating": "0.00",
            "created_at": "2022-10-06T18:01:40.000000Z",
            "updated_at": "2022-10-06T18:01:40.000000Z",
            "links": []
        },
        "order": {
            "id": 4,
            "type": "transfer",
            "price": "1.50",
            "regular_price": "1.50",
            "discount_price": null,
            "discount": null,
            "qr_as_image": null,
            "days": 178,
            "created_at": "2022-10-06T18:01:40.000000Z",
            "updated_at": "2022-10-06T18:01:40.000000Z"
        }
    },
    "url": "https://paytest.cashbill.pl/pl/payment/eydJpZCI6IlRFU1RfNmV6OWZ6dXpvIiwicGMiOiIiLCJ0b2tlbiI6ImJiNjQ3ZGFhOTQ3NDU1NzM0OGRhMzhkYjEyMTE0YTI5MTA0NDhkMGUifQ--"
}
 

Request      

GET api/payments/{payment_dir_pending}/dir/{driver?}

URL Parameters

payment_dir_pending  string  

The payment UUID.

driver  string optional  

The payment driver.

Response

Response Fields

uuid  string  

driver  string  

logs  string  

(available only for admin.dirs.view).

status  object  

created_at  string  

updated_at  string  

morph  object  

Contains relationship Dir.

order  object  

Contains relationship Price.

url  string  

Link to the driver's payment page (for transfer type payment).

Posts

Routes:

/routes/vendor/icore/api/posts.php

Controller:

N1ebieski\ICore\Http\Controllers\Api\Post\PostController

Resource:

N1ebieski\ICore\Http\Resources\Post\PostResource

Permissions:

Index of posts

requires authentication

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/posts/index" \
    --header "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"page\": 1,
    \"filter\": {
        \"except\": [],
        \"search\": \"\",
        \"status\": 1,
        \"category\": \"\",
        \"orderby\": \"\",
        \"paginate\": \"\"
    }
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/posts/index"
);

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

let body = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "category": "",
        "orderby": "",
        "paginate": ""
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/posts/index',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_ACCESS_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'page' => 1,
            'filter' => [
                'except' => [],
                'search' => '',
                'status' => 1,
                'category' => '',
                'orderby' => '',
                'paginate' => '',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/posts/index'
payload = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "category": "",
        "orderby": "",
        "paginate": ""
    }
}
headers = {
  'Authorization': 'Bearer {YOUR_ACCESS_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": [
        {
            "id": 2,
            "slug": "incidunt-omnis-distinctio-nulla-culpa",
            "title": "Incidunt omnis distinctio nulla culpa.",
            "short_content": "Vel quia et dolor hic officia. Maxime accusantium recusandae exercitationem minima ratione. Fugiat autem voluptatem autem quibusdam et tempora ex distinctio. Necessitatibus placeat ab asperiores. Qui aut ut saepe. Est ullam vel eos qui ut minima. Dolores possimus libero eligendi commodi amet quis. Est temporibus eaque ab voluptate necessitatibus doloribus. Nihil qui magnam autem et quia voluptas voluptatem. Quia aut dolorem adipisci. Dolore aut ea ea sed. Nihil enim aut iusto aut quam vel. Harum",
            "content": "Vel quia et dolor hic officia. Maxime accusantium recusandae exercitationem minima ratione. Fugiat autem voluptatem autem quibusdam et tempora ex distinctio. Necessitatibus placeat ab asperiores. Qui aut ut saepe. Est ullam vel eos qui ut minima. Dolores possimus libero eligendi commodi amet quis. Est temporibus eaque ab voluptate necessitatibus doloribus. Nihil qui magnam autem et quia voluptas voluptatem. Quia aut dolorem adipisci. Dolore aut ea ea sed. Nihil enim aut iusto aut quam vel. Harum dicta ea sed dignissimos. Rerum sed eum blanditiis dolorum. Facilis deserunt optio quasi autem velit illo voluptatem. Maiores error autem similique in aspernatur itaque. Est repudiandae enim fugiat vel est. Cum aut esse voluptas cumque. Officiis mollitia aut id reprehenderit. Eius nulla laborum praesentium commodi nulla. Non dolores eveniet recusandae nihil. Vitae nesciunt omnis quo sint dicta nostrum. Molestiae non consectetur voluptas aliquid et reprehenderit. Suscipit iure asperiores veniam cum. Aut ut possimus deleniti accusamus error voluptas aut. Sapiente et ut mollitia est sed aperiam eum. Vitae distinctio atque minima quia accusamus harum assumenda. Dicta incidunt nobis in reiciendis. Exercitationem culpa illum quia sunt quia sed voluptas. In ipsam voluptatum repellat harum iste. Accusantium accusamus velit quas reprehenderit iure dolor atque. Nisi voluptas blanditiis neque ut optio sunt. Impedit exercitationem nisi amet nesciunt voluptatem. Quidem omnis officia eveniet error unde. Debitis omnis itaque nihil. Modi corporis voluptas autem fugiat veniam. Et sunt et fugiat veritatis qui. Ratione ducimus similique ipsum assumenda at modi qui. Eos consequatur autem quos odio cum mollitia. Quia nostrum est nemo atque est. Necessitatibus odio vel voluptas rerum recusandae. Libero ipsam illo voluptate eligendi. Veniam qui cumque corrupti unde eius. Quaerat dignissimos omnis ut et. Perspiciatis rerum explicabo ea optio quo. Quo alias officiis harum soluta dolores qui sint.",
            "content_html": "<p>Vel quia et dolor hic officia. Maxime accusantium recusandae exercitationem minima ratione. Fugiat autem voluptatem autem quibusdam et tempora ex distinctio. Necessitatibus placeat ab asperiores. Qui aut ut saepe. Est ullam vel eos qui ut minima. Dolores possimus libero eligendi commodi amet quis. Est temporibus eaque ab voluptate necessitatibus doloribus. Nihil qui magnam autem et quia voluptas voluptatem. Quia aut dolorem adipisci. Dolore aut ea ea sed. Nihil enim aut iusto aut quam vel. Harum dicta ea sed dignissimos. Rerum sed eum blanditiis dolorum. Facilis deserunt optio quasi autem velit illo voluptatem. Maiores error autem similique in aspernatur itaque. Est repudiandae enim fugiat vel est. Cum aut esse voluptas cumque. Officiis mollitia aut id reprehenderit. Eius nulla laborum praesentium commodi nulla. Non dolores eveniet recusandae nihil. Vitae nesciunt omnis quo sint dicta nostrum. Molestiae non consectetur voluptas aliquid et reprehenderit. Suscipit iure asperiores veniam cum. Aut ut possimus deleniti accusamus error voluptas aut. Sapiente et ut mollitia est sed aperiam eum. Vitae distinctio atque minima quia accusamus harum assumenda. Dicta incidunt nobis in reiciendis. Exercitationem culpa illum quia sunt quia sed voluptas. In ipsam voluptatum repellat harum iste. Accusantium accusamus velit quas reprehenderit iure dolor atque. Nisi voluptas blanditiis neque ut optio sunt. Impedit exercitationem nisi amet nesciunt voluptatem. Quidem omnis officia eveniet error unde. Debitis omnis itaque nihil. Modi corporis voluptas autem fugiat veniam. Et sunt et fugiat veritatis qui. Ratione ducimus similique ipsum assumenda at modi qui. Eos consequatur autem quos odio cum mollitia. Quia nostrum est nemo atque est. Necessitatibus odio vel voluptas rerum recusandae. Libero ipsam illo voluptate eligendi. Veniam qui cumque corrupti unde eius. Quaerat dignissimos omnis ut et. Perspiciatis rerum explicabo ea optio quo. Quo alias officiis harum soluta dolores qui sint.</p>",
            "no_more_content_html": "<p>Vel quia et dolor hic officia. Maxime accusantium recusandae exercitationem minima ratione. Fugiat autem voluptatem autem quibusdam et tempora ex distinctio. Necessitatibus placeat ab asperiores. Qui aut ut saepe. Est ullam vel eos qui ut minima. Dolores possimus libero eligendi commodi amet quis. Est temporibus eaque ab voluptate necessitatibus doloribus. Nihil qui magnam autem et quia voluptas voluptatem. Quia aut dolorem adipisci. Dolore aut ea ea sed. Nihil enim aut iusto aut quam vel. Harum dicta ea sed dignissimos. Rerum sed eum blanditiis dolorum. Facilis deserunt optio quasi autem velit illo voluptatem. Maiores error autem similique in aspernatur itaque. Est repudiandae enim fugiat vel est. Cum aut esse voluptas cumque. Officiis mollitia aut id reprehenderit. Eius nulla laborum praesentium commodi nulla. Non dolores eveniet recusandae nihil. Vitae nesciunt omnis quo sint dicta nostrum. Molestiae non consectetur voluptas aliquid et reprehenderit. Suscipit iure asperiores veniam cum. Aut ut possimus deleniti accusamus error voluptas aut. Sapiente et ut mollitia est sed aperiam eum. Vitae distinctio atque minima quia accusamus harum assumenda. Dicta incidunt nobis in reiciendis. Exercitationem culpa illum quia sunt quia sed voluptas. In ipsam voluptatum repellat harum iste. Accusantium accusamus velit quas reprehenderit iure dolor atque. Nisi voluptas blanditiis neque ut optio sunt. Impedit exercitationem nisi amet nesciunt voluptatem. Quidem omnis officia eveniet error unde. Debitis omnis itaque nihil. Modi corporis voluptas autem fugiat veniam. Et sunt et fugiat veritatis qui. Ratione ducimus similique ipsum assumenda at modi qui. Eos consequatur autem quos odio cum mollitia. Quia nostrum est nemo atque est. Necessitatibus odio vel voluptas rerum recusandae. Libero ipsam illo voluptate eligendi. Veniam qui cumque corrupti unde eius. Quaerat dignissimos omnis ut et. Perspiciatis rerum explicabo ea optio quo. Quo alias officiis harum soluta dolores qui sint.</p>",
            "less_content_html": "<p>Vel quia et dolor hic officia. Maxime accusantium recusandae exercitationem minima ratione. Fugiat autem voluptatem autem quibusdam et tempora ex distinctio. Necessitatibus placeat ab asperiores. Qui aut ut saepe. Est ullam vel eos qui ut minima. Dolores possimus libero eligendi commodi amet quis. Est temporibus eaque ab voluptate necessitatibus doloribus. Nihil qui magnam autem et quia voluptas voluptatem. Quia aut dolorem adipisci. Dolore aut ea ea sed. Nihil enim aut iusto aut quam vel. Harum dicta ea sed dignissimos. Rerum sed eum blanditiis dolorum. Facilis deserunt optio quasi autem velit illo voluptatem. Maiores error autem similique in aspernatur itaque. Est repudiandae enim fugiat vel est. Cum aut esse voluptas cumque. Officiis mollitia aut id reprehenderit. Eius nulla laborum praesentium commodi nulla. Non dolores eveniet recusandae nihil. Vitae nesciunt omnis quo sint dicta nostrum. Molestiae non consectetur voluptas aliquid et reprehenderit. Suscipit iure asperiores veniam cum. Aut ut possimus deleniti accusamus error voluptas aut. Sapiente et ut mollitia est sed aperiam eum. Vitae distinctio atque minima quia accusamus harum assumenda. Dicta incidunt nobis in reiciendis. Exercitationem culpa illum quia sunt quia sed voluptas. In ipsam voluptatum repellat harum iste. Accusantium accusamus velit quas reprehenderit iure dolor atque. Nisi voluptas blanditiis neque ut optio sunt. Impedit exercitationem nisi amet nesciunt voluptatem. Quidem omnis officia eveniet error unde. Debitis omnis itaque nihil. Modi corporis voluptas autem fugiat veniam. Et sunt et fugiat veritatis qui. Ratione ducimus similique ipsum assumenda at modi qui. Eos consequatur autem quos odio cum mollitia. Quia nostrum est nemo atque est. Necessitatibus odio vel voluptas rerum recusandae. Libero ipsam illo voluptate eligendi. Veniam qui cumque corrupti unde eius. Quaerat dignissimos omnis ut et. Perspiciatis rerum explicabo ea optio quo. Quo alias officiis harum soluta dolores qui sint.</p>",
            "seo_title": "Inventore eius et blanditiis corrupti qui.",
            "meta_title": "Inventore eius et blanditiis corrupti qui.",
            "seo_desc": "Cum dolor est voluptas minus aspernatur. Voluptatum alias quo nulla culpa. Error et illo natus ratione voluptatem. Et doloremque et et dolore a.",
            "meta_desc": "Cum dolor est voluptas minus aspernatur. Voluptatum alias quo nulla culpa. Error et illo natus ratione voluptatem. Et doloremque et et dolore a.",
            "seo_noindex": 1,
            "seo_nofollow": 0,
            "status": {
                "value": 1,
                "label": "active"
            },
            "comment": 0,
            "first_image": null,
            "published_at": "2022-08-07T04:03:31.000000Z",
            "created_at": "2022-10-06T18:01:43.000000Z",
            "updated_at": "2022-10-06T18:01:43.000000Z",
            "user": {
                "id": 11877,
                "name": "Saige Maggio",
                "status": {
                    "value": 0,
                    "label": "inactive"
                },
                "created_at": "2022-10-06T18:01:43.000000Z",
                "updated_at": "2022-10-06T18:01:43.000000Z"
            },
            "links": {
                "web": "http://demo.idir.intelekt.net.pl/posts/incidunt-omnis-distinctio-nulla-culpa"
            }
        },
        {
            "id": 3,
            "slug": "laboriosam-at-ab-deleniti-alias-nam",
            "title": "Laboriosam at ab deleniti alias nam.",
            "short_content": "Fugiat ut est error nisi. Eum mollitia est non aperiam. Modi in dolores vero qui quas eos. Quae ut ut dignissimos. Quia nulla et quo excepturi nesciunt ullam rerum. Voluptas qui rerum non eveniet unde autem optio. Nisi aperiam est maxime nostrum. Sit ducimus repellat vel rem eum aut aut. Non odio qui sunt dolorem quia. Nisi ipsa dolorem dicta aliquid vitae qui ratione. Id excepturi est repellendus impedit deleniti qui. Tempora delectus quasi omnis corporis. Reprehenderit accusamus modi repudiand",
            "content": "Fugiat ut est error nisi. Eum mollitia est non aperiam. Modi in dolores vero qui quas eos. Quae ut ut dignissimos. Quia nulla et quo excepturi nesciunt ullam rerum. Voluptas qui rerum non eveniet unde autem optio. Nisi aperiam est maxime nostrum. Sit ducimus repellat vel rem eum aut aut. Non odio qui sunt dolorem quia. Nisi ipsa dolorem dicta aliquid vitae qui ratione. Id excepturi est repellendus impedit deleniti qui. Tempora delectus quasi omnis corporis. Reprehenderit accusamus modi repudiandae veniam ab. Earum ad laudantium blanditiis optio ut ab ipsam. Ab aspernatur doloribus natus doloribus molestias. Consequatur nulla placeat eligendi tempora eos. Eum atque quia aut. Dolor ex qui rerum. Possimus autem sapiente enim consectetur quis. Dolorem itaque vitae impedit. Corrupti autem quae ut aut. Tempora placeat culpa veritatis. Earum eos consectetur voluptatem aperiam accusantium. Quia ex ad quas doloribus neque similique odit. Et eos sunt cum inventore sint sed consequatur. Perferendis incidunt officiis dolorum ipsa ut. Quasi tenetur sit ut voluptates odio aut amet. Et animi consequatur ratione autem sit. Exercitationem vitae excepturi rerum sed. Et amet sint quaerat sint suscipit harum. A illo reprehenderit praesentium adipisci. Aut dolorem voluptatibus nesciunt sint accusamus. Occaecati aspernatur eveniet nulla itaque. Tempora cum suscipit repellendus. Iusto aut et eum animi. Sint sit repudiandae libero repudiandae. Dolores architecto velit aut magnam consequuntur ipsam. Vel culpa vitae non neque accusantium tempora. Dicta autem aut consequatur sed atque sunt voluptas et. Eos dolorum nam quia id debitis. Distinctio dolorem corrupti quaerat et quis ex numquam. Fugiat eaque quia esse illum. Omnis dignissimos excepturi numquam minus hic qui consequuntur. Cum assumenda dolores tempore et et facere. Iste repellat laudantium magnam enim. Autem vitae perferendis asperiores est non quidem.",
            "content_html": "<p>Fugiat ut est error nisi. Eum mollitia est non aperiam. Modi in dolores vero qui quas eos. Quae ut ut dignissimos. Quia nulla et quo excepturi nesciunt ullam rerum. Voluptas qui rerum non eveniet unde autem optio. Nisi aperiam est maxime nostrum. Sit ducimus repellat vel rem eum aut aut. Non odio qui sunt dolorem quia. Nisi ipsa dolorem dicta aliquid vitae qui ratione. Id excepturi est repellendus impedit deleniti qui. Tempora delectus quasi omnis corporis. Reprehenderit accusamus modi repudiandae veniam ab. Earum ad laudantium blanditiis optio ut ab ipsam. Ab aspernatur doloribus natus doloribus molestias. Consequatur nulla placeat eligendi tempora eos. Eum atque quia aut. Dolor ex qui rerum. Possimus autem sapiente enim consectetur quis. Dolorem itaque vitae impedit. Corrupti autem quae ut aut. Tempora placeat culpa veritatis. Earum eos consectetur voluptatem aperiam accusantium. Quia ex ad quas doloribus neque similique odit. Et eos sunt cum inventore sint sed consequatur. Perferendis incidunt officiis dolorum ipsa ut. Quasi tenetur sit ut voluptates odio aut amet. Et animi consequatur ratione autem sit. Exercitationem vitae excepturi rerum sed. Et amet sint quaerat sint suscipit harum. A illo reprehenderit praesentium adipisci. Aut dolorem voluptatibus nesciunt sint accusamus. Occaecati aspernatur eveniet nulla itaque. Tempora cum suscipit repellendus. Iusto aut et eum animi. Sint sit repudiandae libero repudiandae. Dolores architecto velit aut magnam consequuntur ipsam. Vel culpa vitae non neque accusantium tempora. Dicta autem aut consequatur sed atque sunt voluptas et. Eos dolorum nam quia id debitis. Distinctio dolorem corrupti quaerat et quis ex numquam. Fugiat eaque quia esse illum. Omnis dignissimos excepturi numquam minus hic qui consequuntur. Cum assumenda dolores tempore et et facere. Iste repellat laudantium magnam enim. Autem vitae perferendis asperiores est non quidem.</p>",
            "no_more_content_html": "<p>Fugiat ut est error nisi. Eum mollitia est non aperiam. Modi in dolores vero qui quas eos. Quae ut ut dignissimos. Quia nulla et quo excepturi nesciunt ullam rerum. Voluptas qui rerum non eveniet unde autem optio. Nisi aperiam est maxime nostrum. Sit ducimus repellat vel rem eum aut aut. Non odio qui sunt dolorem quia. Nisi ipsa dolorem dicta aliquid vitae qui ratione. Id excepturi est repellendus impedit deleniti qui. Tempora delectus quasi omnis corporis. Reprehenderit accusamus modi repudiandae veniam ab. Earum ad laudantium blanditiis optio ut ab ipsam. Ab aspernatur doloribus natus doloribus molestias. Consequatur nulla placeat eligendi tempora eos. Eum atque quia aut. Dolor ex qui rerum. Possimus autem sapiente enim consectetur quis. Dolorem itaque vitae impedit. Corrupti autem quae ut aut. Tempora placeat culpa veritatis. Earum eos consectetur voluptatem aperiam accusantium. Quia ex ad quas doloribus neque similique odit. Et eos sunt cum inventore sint sed consequatur. Perferendis incidunt officiis dolorum ipsa ut. Quasi tenetur sit ut voluptates odio aut amet. Et animi consequatur ratione autem sit. Exercitationem vitae excepturi rerum sed. Et amet sint quaerat sint suscipit harum. A illo reprehenderit praesentium adipisci. Aut dolorem voluptatibus nesciunt sint accusamus. Occaecati aspernatur eveniet nulla itaque. Tempora cum suscipit repellendus. Iusto aut et eum animi. Sint sit repudiandae libero repudiandae. Dolores architecto velit aut magnam consequuntur ipsam. Vel culpa vitae non neque accusantium tempora. Dicta autem aut consequatur sed atque sunt voluptas et. Eos dolorum nam quia id debitis. Distinctio dolorem corrupti quaerat et quis ex numquam. Fugiat eaque quia esse illum. Omnis dignissimos excepturi numquam minus hic qui consequuntur. Cum assumenda dolores tempore et et facere. Iste repellat laudantium magnam enim. Autem vitae perferendis asperiores est non quidem.</p>",
            "less_content_html": "<p>Fugiat ut est error nisi. Eum mollitia est non aperiam. Modi in dolores vero qui quas eos. Quae ut ut dignissimos. Quia nulla et quo excepturi nesciunt ullam rerum. Voluptas qui rerum non eveniet unde autem optio. Nisi aperiam est maxime nostrum. Sit ducimus repellat vel rem eum aut aut. Non odio qui sunt dolorem quia. Nisi ipsa dolorem dicta aliquid vitae qui ratione. Id excepturi est repellendus impedit deleniti qui. Tempora delectus quasi omnis corporis. Reprehenderit accusamus modi repudiandae veniam ab. Earum ad laudantium blanditiis optio ut ab ipsam. Ab aspernatur doloribus natus doloribus molestias. Consequatur nulla placeat eligendi tempora eos. Eum atque quia aut. Dolor ex qui rerum. Possimus autem sapiente enim consectetur quis. Dolorem itaque vitae impedit. Corrupti autem quae ut aut. Tempora placeat culpa veritatis. Earum eos consectetur voluptatem aperiam accusantium. Quia ex ad quas doloribus neque similique odit. Et eos sunt cum inventore sint sed consequatur. Perferendis incidunt officiis dolorum ipsa ut. Quasi tenetur sit ut voluptates odio aut amet. Et animi consequatur ratione autem sit. Exercitationem vitae excepturi rerum sed. Et amet sint quaerat sint suscipit harum. A illo reprehenderit praesentium adipisci. Aut dolorem voluptatibus nesciunt sint accusamus. Occaecati aspernatur eveniet nulla itaque. Tempora cum suscipit repellendus. Iusto aut et eum animi. Sint sit repudiandae libero repudiandae. Dolores architecto velit aut magnam consequuntur ipsam. Vel culpa vitae non neque accusantium tempora. Dicta autem aut consequatur sed atque sunt voluptas et. Eos dolorum nam quia id debitis. Distinctio dolorem corrupti quaerat et quis ex numquam. Fugiat eaque quia esse illum. Omnis dignissimos excepturi numquam minus hic qui consequuntur. Cum assumenda dolores tempore et et facere. Iste repellat laudantium magnam enim. Autem vitae perferendis asperiores est non quidem.</p>",
            "seo_title": "Id dolorum provident ut et doloribus voluptas.",
            "meta_title": "Id dolorum provident ut et doloribus voluptas.",
            "seo_desc": "Nesciunt ducimus magni nemo sunt. Hic aut libero adipisci laboriosam. Eos est inventore id quia.",
            "meta_desc": "Nesciunt ducimus magni nemo sunt. Hic aut libero adipisci laboriosam. Eos est inventore id quia.",
            "seo_noindex": 0,
            "seo_nofollow": 1,
            "status": {
                "value": 1,
                "label": "active"
            },
            "comment": 1,
            "first_image": null,
            "published_at": "2022-09-20T06:23:19.000000Z",
            "created_at": "2022-10-06T18:01:43.000000Z",
            "updated_at": "2022-10-06T18:01:43.000000Z",
            "user": {
                "id": 11878,
                "name": "Dr. Roscoe Hermann DDS",
                "status": {
                    "value": 0,
                    "label": "inactive"
                },
                "created_at": "2022-10-06T18:01:43.000000Z",
                "updated_at": "2022-10-06T18:01:43.000000Z"
            },
            "links": {
                "web": "http://demo.idir.intelekt.net.pl/posts/laboriosam-at-ab-deleniti-alias-nam"
            }
        }
    ]
}
 

Request      

POST api/posts/index

GET api/posts/index

Body Parameters

page  integer optional  

filter  object optional  

filter.except  integer[] optional  

Array containing IDs, excluding records from the list.

filter.search  string optional  

Search by keyword. Must be at least 3 characters. Must not be greater than 255 characters.

filter.status  integer optional  

Must be one of 1 or (available only for admin.categories.view) 0, 2.

filter.category  integer optional  

ID of category contains posts.

filter.orderby  string optional  

Sorting the result list. Must be one of created_at|asc, created_at|desc, updated_at|asc, updated_at|desc, title|asc, title|desc, view|desc, or view|asc.

filter.paginate  integer optional  

Number of records in the list. Must be one of 25, 50, or 100.

Response

Response Fields

id  integer  

title  string  

slug  string  

short_content  string  

A shortened version of the post without HTML formatting.

content  string  

Post without HTML formatting.

content_html  string  

Post with HTML formatting.

no_more_content_html  string  

Post with HTML formatting without "show more" button.

less_content_html  string  

Post with HTML formatting with "show more" button.

seo_title  string  

Title for SEO.

meta_title  string  

Title for META.

seo_desc  string  

Description for SEO.

meta_desc  string  

Description for META.

seo_noindex  boolean  

Value for META.

seo_nofollow  boolean  

Value for META.

status  object  

Contains int value and string label.

comment  boolean  

Determines whether comments are allowed.

first_image  string  

Address of the first image in the post for META.

published_at  string  

created_at  string  

updated_at  string  

user  object  

Contains relationship User author.

links  object  

Contains links to resources on the website and in the administration panel.

meta  object  

Paging, filtering and sorting information.

Tags

Routes:

/routes/vendor/icore/api/tags.php

Controller:

N1ebieski\ICore\Http\Controllers\Api\Tag\TagController

Resource:

N1ebieski\ICore\Http\Resources\Tag\TagResource

Permissions:

Index of tags

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/tags/index" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"page\": 1,
    \"filter\": {
        \"except\": [],
        \"search\": \"\",
        \"orderby\": \"\",
        \"paginate\": \"\"
    }
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/tags/index"
);

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

let body = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "orderby": "",
        "paginate": ""
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/tags/index',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'page' => 1,
            'filter' => [
                'except' => [],
                'search' => '',
                'orderby' => '',
                'paginate' => '',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/tags/index'
payload = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "orderby": "",
        "paginate": ""
    }
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": [
        {
            "id": 35022,
            "name": "Sunt",
            "slug": "sunt",
            "created_at": "2022-10-06T18:01:43.000000Z",
            "updated_at": "2022-10-06T18:01:43.000000Z"
        },
        {
            "id": 35023,
            "name": "Sint",
            "slug": "sint",
            "created_at": "2022-10-06T18:01:43.000000Z",
            "updated_at": "2022-10-06T18:01:43.000000Z"
        }
    ]
}
 

Request      

POST api/tags/index

GET api/tags/index

Body Parameters

page  integer optional  

filter  object optional  

filter.except  integer[] optional  

Array containing IDs, excluding records from the list.

filter.search  string optional  

Search by keyword. Must be at least 3 characters. Must not be greater than 255 characters.

filter.orderby  string optional  

Sorting the result list. Must be one of created_at|asc, created_at|desc, updated_at|asc, updated_at|desc, sum|asc, or sum|desc.

filter.paginate  integer optional  

Number of records in the list. Must be one of 25, 50, or 100.

Response

Response Fields

id  integer  

name  string  

slug  string  

created_at  string  

updated_at  string  

meta  object  

Paging, filtering and sorting information.

Tokens

Routes:

/routes/vendor/icore/api/tokens.php

Controller:

N1ebieski\ICore\Http\Controllers\Api\Token\TokenController

Permissions:

Create token

requires authentication

Create personal access token.

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/tokens" \
    --header "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Access\",
    \"expiration\": 7,
    \"abilities\": [
        \"api.*\"
    ]
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/tokens"
);

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

let body = {
    "name": "Access",
    "expiration": 7,
    "abilities": [
        "api.*"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/tokens',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_ACCESS_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Access',
            'expiration' => 7,
            'abilities' => [
                'api.*',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/tokens'
payload = {
    "name": "Access",
    "expiration": 7,
    "abilities": [
        "api.*"
    ]
}
headers = {
  'Authorization': 'Bearer {YOUR_ACCESS_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (201, success):


{
    "access_token": "1|LN8Gmqe6cRHQpPr5X5GW9wFXuqHVK09L8FSb7Ju9"
}
 

Request      

POST api/tokens

Body Parameters

name  string  

Must be between 3 and 255 characters.

expiration  integer optional  

Token expiration time on days. If null is unlimited. Must not be greater than 1000.

abilities  string[]  

Array containing scopes. Wildcard supported. Must be one of api.*, api.users.*, api.users.view, api.categories.*, api.categories.view, api.tags.*, api.tags.view, api.posts.*, api.posts.view, api.tokens.*, api.tokens.create, api.tokens.delete, api.groups.*, api.groups.view, api.dirs.*, api.dirs.view, api.dirs.create, api.dirs.status, api.dirs.edit, or api.dirs.delete.

Response

Response Fields

access_token  string  

Delete token

requires authentication

Delete personal access token.

Example request:
curl --request DELETE \
    "https://demo.idir.intelekt.net.pl/api/tokens/" \
    --header "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/tokens/"
);

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

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://demo.idir.intelekt.net.pl/api/tokens/',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_ACCESS_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/tokens/'
headers = {
  'Authorization': 'Bearer {YOUR_ACCESS_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers)
response.json()

Request      

DELETE api/tokens/{token_id}

URL Parameters

token_id  integer  

The ID of the token.

Users

Routes:

/routes/vendor/icore/api/users.php

Controller:

N1ebieski\ICore\Http\Controllers\Api\User\UserController

Resource:

N1ebieski\ICore\Http\Resources\User\UserResource

Permissions:

Index of users

requires authentication

Example request:
curl --request POST \
    "https://demo.idir.intelekt.net.pl/api/users/index" \
    --header "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"page\": 1,
    \"filter\": {
        \"except\": [],
        \"search\": \"\",
        \"status\": 1,
        \"role\": \"\",
        \"orderby\": \"created_at|asc\",
        \"paginate\": \"\"
    }
}"
const url = new URL(
    "https://demo.idir.intelekt.net.pl/api/users/index"
);

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

let body = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "role": "",
        "orderby": "created_at|asc",
        "paginate": ""
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://demo.idir.intelekt.net.pl/api/users/index',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_ACCESS_TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'page' => 1,
            'filter' => [
                'except' => [],
                'search' => '',
                'status' => 1,
                'role' => '',
                'orderby' => 'created_at|asc',
                'paginate' => '',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://demo.idir.intelekt.net.pl/api/users/index'
payload = {
    "page": 1,
    "filter": {
        "except": [],
        "search": "",
        "status": 1,
        "role": "",
        "orderby": "created_at|asc",
        "paginate": ""
    }
}
headers = {
  'Authorization': 'Bearer {YOUR_ACCESS_TOKEN}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):


{
    "data": [
        {
            "id": 11874,
            "name": "Prof. Maci Nolan V",
            "status": {
                "value": 1,
                "label": "active"
            },
            "created_at": "2022-10-06T18:01:42.000000Z",
            "updated_at": "2022-10-06T18:01:42.000000Z",
            "roles": [
                {
                    "id": 3,
                    "name": "user",
                    "created_at": "2022-09-16T00:16:56.000000Z",
                    "updated_at": "2022-09-16T00:16:56.000000Z"
                }
            ]
        },
        {
            "id": 11875,
            "name": "Prof. Darlene Marquardt",
            "status": {
                "value": 1,
                "label": "active"
            },
            "created_at": "2022-10-06T18:01:42.000000Z",
            "updated_at": "2022-10-06T18:01:42.000000Z",
            "roles": [
                {
                    "id": 3,
                    "name": "user",
                    "created_at": "2022-09-16T00:16:56.000000Z",
                    "updated_at": "2022-09-16T00:16:56.000000Z"
                }
            ]
        }
    ]
}
 

Request      

POST api/users/index

GET api/users/index

Body Parameters

page  integer optional  

filter  object optional  

filter.except  integer[] optional  

Array containing IDs, excluding records from the list.

filter.search  string optional  

Search by keyword. Must be at least 3 characters. Must not be greater than 255 characters.

filter.status  integer optional  

Must be one of 1 or 0 (available only for admin.users.view).

filter.role  integer optional  

filter.orderby  string optional  

Sorting the result list. Must be one of created_at|asc, created_at|desc, updated_at|asc, or updated_at|desc.

filter.paginate  integer optional  

Number of records in the list. Must be one of 25, 50, or 100.

Response

Response Fields

id  integer  

name  string  

ip  string  

(available only for admin.users.view).

email  string  

(available only for admin.users.view or owner).

status  object  

Contains int value and string label

marketing  object  

Email marketing consent, contains int value and string label (available only for admin.users.view or owner).

created_at  string  

updated_at  string  

roles  object[]  

Contains relationships Roles.

socialites  object[]  

Contains relationships Socialites (available only for admin.users.view or owner).

meta  object  

Paging, filtering and sorting information.