MENU navbar-image

Introduction

API de Plurivium Core

Esta documentación tiene como objetivo proporcionar toda la información que necesita para trabajar con nuestra API.

<aside>Al desplazarse, verá ejemplos de código para trabajar con la API en diferentes lenguajes de programación en el área oscura a la derecha (o como parte del contenido en dispositivos móviles).
Puede cambiar el idioma utilizado con las pestañas en la parte superior derecha (o desde el menú de navegación en la parte superior izquierda en dispositivos móviles).</aside>

Authenticating requests

To authenticate requests, include a X-API-Key header with the value "test".

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

You can retrieve your token by visiting your dashboard and clicking Generate API token.

Endpoints

Listar eventos con filtros por tipo, tags y programa, ordenados por fecha de inicio.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/events" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/events"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/events

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

Obtener los detalles de un evento por slug, incluyendo programas, oradores y tags.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/events/architecto" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/events/architecto"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/events/{slug}

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

URL Parameters

slug   string     

The slug of the event. Example: architecto

Obtener los detalles de un evento por ID, incluyendo programas, oradores y tags.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/events/id/58C6f7nnFCJ9M6rjyc6rTKMzn6" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/events/id/58C6f7nnFCJ9M6rjyc6rTKMzn6"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/events/id/{id}

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

URL Parameters

id   string     

The ID of the id. Example: 58C6f7nnFCJ9M6rjyc6rTKMzn6

Listar tipos de eventos con filtros de búsqueda y contar eventos próximos.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/event-types" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/event-types"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/event-types

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

Listar programas con filtros por tipo, modalidad, disciplina, sede y búsqueda.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/programs" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19" \
    --data "{
    \"program_type_id\": [
        16
    ],
    \"modality_id\": [
        16
    ],
    \"discipline_id\": [
        16
    ],
    \"campus_id\": [
        16
    ],
    \"search\": \"n\",
    \"page\": 67,
    \"per_page\": 16
}"
const url = new URL(
    "http://localhost:8080/api/v1/programs"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

let body = {
    "program_type_id": [
        16
    ],
    "modality_id": [
        16
    ],
    "discipline_id": [
        16
    ],
    "campus_id": [
        16
    ],
    "search": "n",
    "page": 67,
    "per_page": 16
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/programs

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

Body Parameters

program_type_id   integer[]  optional    

The id of an existing record in the program_types table.

modality_id   integer[]  optional    

The id of an existing record in the modalities table.

discipline_id   integer[]  optional    

The id of an existing record in the disciplines table.

campus_id   integer[]  optional    

The id of an existing record in the campuses table.

search   string  optional    

El campo value no debe tener más de 255 caracteres. Example: n

page   integer  optional    

El campo value debe ser al menos 1. Example: 67

per_page   integer  optional    

El campo value debe ser al menos 1. El campo value no debe ser mayor que 50. Example: 16

Obtener los detalles de un programa por slug, incluyendo tipo, modalidades, disciplinas y fechas de inicio.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/programs/architecto" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/programs/architecto"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/programs/{slug}

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

URL Parameters

slug   string     

The slug of the program. Example: architecto

Obtener los detalles de un programa por ID, incluyendo tipo, modalidades, disciplinas y fechas de inicio.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/programs/id/58C6f7nnFCJ9M6rjyc6rTKMzn6" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/programs/id/58C6f7nnFCJ9M6rjyc6rTKMzn6"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/programs/id/{id}

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

URL Parameters

id   string     

The ID of the id. Example: 58C6f7nnFCJ9M6rjyc6rTKMzn6

Listar tipos de programas con filtros de visibilidad, búsqueda y menú, contando programas activos.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/program-types" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/program-types"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/program-types

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

Listar sedes con filtros por nombre y dirección.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/campuses" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/campuses"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/campuses

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

Obtener los detalles de una sede con sus programas asociados.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/campuses/architecto" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/campuses/architecto"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/campuses/{slug}

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

URL Parameters

slug   string     

The slug of the campus. Example: architecto

Listar modalidades con filtro de búsqueda y contar programas activos asociados.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/modalities" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/modalities"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/modalities

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

Listar disciplinas con filtro de búsqueda y contar programas activos.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/disciplines" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/disciplines"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/disciplines

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

Obtener los detalles de una disciplina con sus programas asociados.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/disciplines/58C6f7nnFCJ9M6rjyc6rTKMzn6" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/disciplines/58C6f7nnFCJ9M6rjyc6rTKMzn6"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/disciplines/{id}

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

URL Parameters

id   string     

The ID of the discipline. Example: 58C6f7nnFCJ9M6rjyc6rTKMzn6

Listar docentes con filtros por búsqueda, programa y tags, ordenados por orden de visualización.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/teachers" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/teachers"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/teachers

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

Obtener los detalles de un docente por slug, incluyendo sus programas asociados y tags.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/teachers/architecto" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/teachers/architecto"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/teachers/{slug}

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19

URL Parameters

slug   string     

The slug of the teacher. Example: architecto

Listar testimonios con filtros por programa y tag.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost:8080/api/v1/testimonials" \
    --header "X-API-Key: test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Tenant: 3bd585dd-acff-4df6-ab92-75a85a902b19"
const url = new URL(
    "http://localhost:8080/api/v1/testimonials"
);

const headers = {
    "X-API-Key": "test",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Tenant": "3bd585dd-acff-4df6-ab92-75a85a902b19",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": "Unauthorized",
    "message": "La API Key no es válida o expiró"
}
 

Request      

GET api/v1/testimonials

Headers

X-API-Key        

Example: test

Content-Type        

Example: application/json

Accept        

Example: application/json

X-Tenant        

Example: 3bd585dd-acff-4df6-ab92-75a85a902b19