Organization

Organizations represent the entities (such as schools, companies, or institutions) under which certificates and templates are managed. Each organization record contains essential details like the organization’s name, contact information, and website.

These endpoints allow you to create, fetch, list, and delete organizations associated with your account.

Authentication

All requests must include your API key in the request headers:

  • x-api-key (required) – Your unique API key from the Akowe dashboard.


Create Organization

Endpoint:

POST /api/profile/organization

Description:

Creates a new organization with details such as name, email, website, and phone number.

Sample Request:

curl --location '{{baseurl}}/api/profile/organization' \
--header &#x27;x-api-key: <your-api-key>&#x27; \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "Akowe", 
  "website": "https://akowe.app",
  "email": "[email protected]",
  "phone":"080123456789", 
  "logo": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAe" 
}'

Sample Response:

{
  "success": true,
  "message": "Organization has been created successfully",
  "data": {
    "id": "b2bf6b4e-bb07-45ab-b5d0-c43544d2d107",
    "name": "Akowe", 
    "website": "https://akowe.app",
    "email": "[email protected]",
    "phone":"080123456789", 
    "logo": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAe"
  }
}

Get Organization

Endpoint:

GET /api/profile/organization/{organizationId}

Description:

Fetches details of a specific organization by its unique ID.

Sample Request:

curl --location '{{baseurl}}/api/profile/organization/19ac76e7-8638-487c-861f-6565351b2f10' \
--header &#x27;x-api-key: <your-api-key>&#x27;

Sample Response:

{
  "success": true,
  "message": "",
  "data": {
    "id": "19ac76e7-8638-487c-861f-6565351b2f10",
    "name": "Akowe", 
    "website": "https://akowe.app",
    "email": "[email protected]",
    "phone":"080123456789", 
    "logo": ""
  }
}

Get Organizations

Endpoint:

GET /api/profile/organization

Description:

Retrieves a list of all organizations linked to your account or sub-account.

Sample Request:

curl --location '{{baseurl}}/api/profile/organization' \
--header &#x27;x-api-key: <your-api-key>&#x27;;

Sample Response:

{
  "success": true,
  "message": "",
  "data": [
    {
      "id": "ec8566dd-56bd-49d0-b4ae-04df88cd62e9",
      "name": "Akowe",
      "email": "[email protected]",
      "logo": "https://academicrecords.s3.eu-west-2.amazonaws.com/issuance/organization1.jpeg",
      "website": "https://akowe.app",
      "phone": "080123456789"
    }
  ]
}

Delete Organization

Endpoint:

DELETE /api/profile/organization/{organizationId}

Description:

Deletes a specific organization by its unique ID.

Sample Request:

curl --location --request DELETE '{{baseurl}}/api/profile/organization/b7013631-bc7a-40ec-96e2-13b5e67c3d02' \
--header &#x27;x-api-key: <your-api-key>&#x27;

Sample Response:

{
  "success": true,
  "message": "Organization deleted successfully"
}

Get Issuing Organizations

get
Header parameters
x-api-keystringOptionalExample: live-4ddc3c34-c47d-423a-a49b-0dbc3dac75a1-0-2d45cc19-2241-42ed-8e97-0eb8486c93c7
Responses
200

Successful response

application/json
get
/profile/organization
GET /profile/organization HTTP/1.1
Host: {{baseurl}}
Accept: */*
200

Successful response

No content

Create Issuing Organization

post
Header parameters
x-api-keystringOptionalExample: live-4ddc3c34-c47d-423a-a49b-0dbc3dac75a1-0-2d45cc19-2241-42ed-8e97-0eb8486c93c7
Body
objectOptionalExample: {"name":"Akowe","website":"https://akowe.app","email":"[email protected]","phone":"080123456789","logo":""}
Responses
200

Successful response

application/json
post
/profile/organization
POST /profile/organization HTTP/1.1
Host: {{baseurl}}
Content-Type: application/json
Accept: */*
Content-Length: 107

{
  "name": "Akowe",
  "website": "https://akowe.app",
  "email": "[email protected]",
  "phone": "080123456789",
  "logo": ""
}
200

Successful response

No content

Delete Issuing Organization

delete
Header parameters
x-api-keystringOptionalExample: live-4ddc3c34-c47d-423a-a49b-0dbc3dac75a1-0-2d45cc19-2241-42ed-8e97-0eb8486c93c7
Responses
200

Successful response

application/json
delete
/profile/organization/b2bf6b4e-bb07-45ab-b5d0-c43544d2d107
DELETE /profile/organization/b2bf6b4e-bb07-45ab-b5d0-c43544d2d107 HTTP/1.1
Host: {{baseurl}}
Accept: */*
200

Successful response

No content

Get Issuing Organization

get
Header parameters
x-api-keystringOptionalExample: live-4ddc3c34-c47d-423a-a49b-0dbc3dac75a1-0-2d45cc19-2241-42ed-8e97-0eb8486c93c7
Responses
200

Successful response

application/json
get
/profile/organization/19ac76e7-8638-487c-861f-6565351b2f10
GET /profile/organization/19ac76e7-8638-487c-861f-6565351b2f10 HTTP/1.1
Host: {{baseurl}}
Accept: */*
200

Successful response

No content