PUT /api/accounts/:account-id/update.json
Updates account data.
Example Request
curl
curl --request PUT \
--url 'https://account_name.app.invoicexpress.com/api/accounts/:account-id/update.json?api_key=YOUR%20API%20KEY%20HERE' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{"account":{"organization_name":"Your Company Name","fiscal_id":"999999990","address":"Avenida Duque D'\''Avila, Saldanha","postal_code":"1500-555","city":"Lisbon","email":"email@company.com"}}'
Ruby
require 'uri'
require 'net/http'
url = URI("https://account_name.app.invoicexpress.com/api/accounts/:account-id/update.json?api_key=YOUR%20API%20KEY%20HERE")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Put.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"account\":{\"organization_name\":\"Your Company Name\",\"fiscal_id\":\"999999990\",\"address\":\"Avenida Duque D'Avila, Saldanha\",\"postal_code\":\"1500-555\",\"city\":\"Lisbon\",\"email\":\"email@company.com\"}}"
response = http.request(request)
puts response.read_body
Node
var http = require("https");
var options = {
"method": "PUT",
"hostname": "account_name.app.invoicexpress.com",
"port": null,
"path": "/api/accounts/:account-id/update.json?api_key=YOUR%20API%20KEY%20HERE",
"headers": {
"accept": "application/json",
"content-type": "application/json"
}
};
var req = http.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({ account:
{ organization_name: 'Your Company Name',
fiscal_id: '999999990',
address: 'Avenida Duque D\'Avila, Saldanha',
postal_code: '1500-555',
city: 'Lisbon',
email: 'email@company.com' } }));
req.end();
Python
import http.client
conn = http.client.HTTPSConnection("account_name.app.invoicexpress.com")
payload = "{\"account\":{\"organization_name\":\"Your Company Name\",\"fiscal_id\":\"999999990\",\"address\":\"Avenida Duque D'Avila, Saldanha\",\"postal_code\":\"1500-555\",\"city\":\"Lisbon\",\"email\":\"email@company.com\"}}"
headers = {
'accept': "application/json",
'content-type': "application/json"
}
conn.request("PUT", "/api/accounts/:account-id/update.json?api_key=YOUR%20API%20KEY%20HERE", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://account_name.app.invoicexpress.com/api/accounts/:account-id/update.json?api_key=YOUR%20API%20KEY%20HERE",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => "{\"account\":{\"organization_name\":\"Your Company Name\",\"fiscal_id\":\"999999990\",\"address\":\"Avenida Duque D'Avila, Saldanha\",\"postal_code\":\"1500-555\",\"city\":\"Lisbon\",\"email\":\"email@company.com\"}}",
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"content-type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Go
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://account_name.app.invoicexpress.com/api/accounts/:account-id/update.json?api_key=YOUR%20API%20KEY%20HERE"
payload := strings.NewReader("{\"account\":{\"organization_name\":\"Your Company Name\",\"fiscal_id\":\"999999990\",\"address\":\"Avenida Duque D'Avila, Saldanha\",\"postal_code\":\"1500-555\",\"city\":\"Lisbon\",\"email\":\"email@company.com\"}}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("accept", "application/json")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
Query Parameters
Name | Type | Required | Description | Example |
---|---|---|---|---|
account-id | Integer | Required | The ID of the account to be updated. | 42 |
Request Body Parameters
Name | Type | Required | Description |
---|---|---|---|
account | Object | Required | Account data to be created |
first_name | String | The user’s first name. | |
last_name | String | The user’s last name. | |
organization_name | String | Required | The name of the company. |
phone | String | The account phone number. | |
email | String | Required | The account email. |
password | String | Required | The account password. |
fiscal_id | String | The company fiscal ID (vat number). The fiscal_id, if present, must be unique in the system. | |
tax_country | String | The account country. Options: 1 (Portugal); 2 (Ireland); 3 (UK). See the Appendix for more countries. | |
language | String | The account language. Options: pt (Portuguese); en (English); es (Spanish). | |
terms | String | Required | The terms and conditions. Options: 1 (Accepted); 0 (Not accepted). |
marketing | String | Signing up to receive the marketing newsletter. Options: 1 (Accepted); 0 (Not accepted). | |
credentials | Object | Object that contains details about the credentials to be configured. | |
username | String | Required if credentials is present | Credentials username. Must be in the format 123456789/X .Regex: (^\d{9}/) |
password | String | Required if credentials is present | Credentials password. Must be encoded in Base64 . |
type | String | Institution the credentials will be used for. Case sensitive. Defaults to AT .Possible values: – AT | |
context | String | Context of the credentials. Case sensitive. Defaults to Sequences .Possible values: – Sequences |
Example Request Body
{
"account": {
"organization_name": "Your Company Name",
"fiscal_id": "999999990",
"address": "Avenida Duque D'Avila, Saldanha",
"postal_code": "1500-555",
"city": "Lisbon",
"email": "email@company.com",
"terms": 1,
"credentials": {
"username": "123456789/1",
"password": "cGFzc3dvcmQ=",
"context": "Sequences",
"type": "AT"
}
}
}
Responses
401 | ACCESS DENIED The API Key parameter is missing or is incorrectly entered. | (Empty Response) |
404 | NOT FOUND The account doesn’t exist. | (Empty Response) |
422 | UNPROCESSABLE ENTITY Some parameters were incorrect. | (Empty Response) |
Possible Errors for HTTP: 422
- Postal Code must have the following format DDDD-DDD
- Vat Number can’t be changed
- Vat Number is already used in another account
- Username is not valid.
- Password is not valid.
- Username doesn’t match required format.
- Credential type is invalid.
- Credential context is invalid.