Organization
Organization management, statistics, and user membership
List user's organizations#
GET /api/v1/organizations
Nécessite une authentification (jeton Bearer) et l’en-tête X-Organization-Id.
Paramètres#
| Nom |
Emplacement |
Type |
Requis |
Description |
search |
query |
string |
non |
|
per_page |
query |
string |
non |
|
Réponses#
| Statut |
Description |
| 200 |
For non-paginated data, return as before |
Exemple de requête#
curl -X GET "https://app.encryptinvoice.com/api/v1/organizations" \
-H "Authorization: Bearer {{access_token}}" \
-H "X-Organization-Id: {{organization_id}}" \
-H "Accept: application/json"
Get organization details#
GET /api/v1/organizations/{id}
Nécessite une authentification (jeton Bearer) et l’en-tête X-Organization-Id.
Paramètres#
| Nom |
Emplacement |
Type |
Requis |
Description |
id |
path |
integer |
oui |
|
Réponses#
| Statut |
Description |
| 200 |
For non-paginated data, return as before |
Exemple de requête#
curl -X GET "https://app.encryptinvoice.com/api/v1/organizations/{id}" \
-H "Authorization: Bearer {{access_token}}" \
-H "X-Organization-Id: {{organization_id}}" \
-H "Accept: application/json"
Update organization#
PUT /api/v1/organizations/{id}
Nécessite une authentification (jeton Bearer) et l’en-tête X-Organization-Id.
country is immutable once the organization exists and is not accepted here. currency is locked once any financial document (invoice/quote/expense/credit note) exists — attempting to change it then returns 422. subdivision_code is editable going-forward. (#635, #638)
Paramètres#
| Nom |
Emplacement |
Type |
Requis |
Description |
id |
path |
integer |
oui |
|
Corps de la requête#
| Champ |
Type |
Requis |
Description |
name |
string |
non |
|
currency |
string |
non |
Base currency (ISO 4217). Locked once financial documents exist; a locked change returns 422. (#638) |
timezone |
string |
non |
|
language |
string |
non |
|
subdivision_code |
string |
non |
ISO 3166-2 subdivision code (e.g. CA-QC). Validated against the country_subdivisions reference table. Editable going-forward. (#635) |
settings |
array |
non |
|
address_line1 |
string |
non |
Company-profile / legal-header fields (#765) |
address_line2 |
string |
non |
|
city |
string |
non |
|
postal_code |
string |
non |
|
state |
string |
non |
|
contact_name |
string |
non |
|
contact_email |
string |
non |
|
contact_phone |
string |
non |
|
logo |
string |
non |
|
tax_number |
string |
non |
|
registration_number |
string |
non |
|
legal_form |
string |
non |
|
website |
string |
non |
|
Réponses#
| Statut |
Description |
| 200 |
For non-paginated data, return as before |
| 403 |
|
| 422 |
Validation failed, OR an immutable/locked field was changed — changing currency once financial documents exist (or country, which is never accepted) returns { success: false, message: <reason> }. (#638) |
Exemple de requête#
curl -X PUT "https://app.encryptinvoice.com/api/v1/organizations/{id}" \
-H "Authorization: Bearer {{access_token}}" \
-H "X-Organization-Id: {{organization_id}}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"currency": "string",
"timezone": "string",
"language": "string",
"subdivision_code": "string",
"settings": [],
"address_line1": "string",
"address_line2": "string",
"city": "string",
"postal_code": "string",
"state": "string",
"contact_name": "string",
"contact_email": "string",
"contact_phone": "string",
"logo": "string",
"tax_number": "string",
"registration_number": "string",
"legal_form": "string",
"website": "string"
}'
Get organization statistics (Core only)#
GET /api/v1/organizations/{id}/statistics
Nécessite une authentification (jeton Bearer) et l’en-tête X-Organization-Id.
NOTE: Invoicing statistics moved to ReportingController (Invoicing plugin)
to maintain plugin architecture. Core should not depend on plugins.
Paramètres#
| Nom |
Emplacement |
Type |
Requis |
Description |
id |
path |
integer |
oui |
|
Réponses#
| Statut |
Description |
| 200 |
For non-paginated data, return as before |
Exemple de requête#
curl -X GET "https://app.encryptinvoice.com/api/v1/organizations/{id}/statistics" \
-H "Authorization: Bearer {{access_token}}" \
-H "X-Organization-Id: {{organization_id}}" \
-H "Accept: application/json"
List organization users#
GET /api/v1/organizations/{id}/users
Nécessite une authentification (jeton Bearer) et l’en-tête X-Organization-Id.
Paramètres#
| Nom |
Emplacement |
Type |
Requis |
Description |
id |
path |
integer |
oui |
|
per_page |
query |
string |
non |
|
Réponses#
| Statut |
Description |
| 200 |
For non-paginated data, return as before |
Exemple de requête#
curl -X GET "https://app.encryptinvoice.com/api/v1/organizations/{id}/users" \
-H "Authorization: Bearer {{access_token}}" \
-H "X-Organization-Id: {{organization_id}}" \
-H "Accept: application/json"
Invite user to organization#
POST /api/v1/organizations/{id}/users/invite
Nécessite une authentification (jeton Bearer) et l’en-tête X-Organization-Id.
Paramètres#
| Nom |
Emplacement |
Type |
Requis |
Description |
id |
path |
integer |
oui |
|
Corps de la requête#
| Champ |
Type |
Requis |
Description |
email |
string |
oui |
|
role |
string |
oui |
|
Réponses#
| Statut |
Description |
| 404 |
|
| 201 |
For non-paginated data, return as before |
| 400 |
|
| 403 |
|
| 422 |
|
Exemple de requête#
curl -X POST "https://app.encryptinvoice.com/api/v1/organizations/{id}/users/invite" \
-H "Authorization: Bearer {{access_token}}" \
-H "X-Organization-Id: {{organization_id}}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"email": "string",
"role": "string"
}'
Update user role#
PUT /api/v1/organizations/{id}/users/{userId}
Nécessite une authentification (jeton Bearer) et l’en-tête X-Organization-Id.
Paramètres#
| Nom |
Emplacement |
Type |
Requis |
Description |
id |
path |
integer |
oui |
|
userId |
path |
integer |
oui |
|
Corps de la requête#
| Champ |
Type |
Requis |
Description |
role |
string |
oui |
|
Réponses#
| Statut |
Description |
| 200 |
For non-paginated data, return as before |
| 400 |
|
| 403 |
|
| 422 |
|
Exemple de requête#
curl -X PUT "https://app.encryptinvoice.com/api/v1/organizations/{id}/users/{userId}" \
-H "Authorization: Bearer {{access_token}}" \
-H "X-Organization-Id: {{organization_id}}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"role": "string"
}'
Remove user from organization#
DELETE /api/v1/organizations/{id}/users/{userId}
Nécessite une authentification (jeton Bearer) et l’en-tête X-Organization-Id.
Paramètres#
| Nom |
Emplacement |
Type |
Requis |
Description |
id |
path |
integer |
oui |
|
userId |
path |
integer |
oui |
|
Réponses#
| Statut |
Description |
| 200 |
For non-paginated data, return as before |
| 400 |
|
| 403 |
|
Exemple de requête#
curl -X DELETE "https://app.encryptinvoice.com/api/v1/organizations/{id}/users/{userId}" \
-H "Authorization: Bearer {{access_token}}" \
-H "X-Organization-Id: {{organization_id}}" \
-H "Accept: application/json"