POST | /posts |
---|
"use strict";
export class CreatePostResponse {
/** @param {{id?:number,slug?:string,responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
slug;
/** @type {ResponseStatus} */
responseStatus;
}
/** @typedef {'Announcement'|'Post'|'Showcase'|'Question'|'Request'} */
export var PostType;
(function (PostType) {
PostType["Announcement"] = "Announcement"
PostType["Post"] = "Post"
PostType["Showcase"] = "Showcase"
PostType["Question"] = "Question"
PostType["Request"] = "Request"
})(PostType || (PostType = {}));
export class CreatePost {
/** @param {{organizationId?:number,type?:PostType,categoryId?:number,title?:string,url?:string,imageUrl?:string,content?:string,lock?:boolean,technologyIds?:number[],labels?:string[],fromDate?:string,toDate?:string,metaType?:string,meta?:string,refId?:number,refSource?:string,refUrn?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
organizationId;
/** @type {PostType} */
type;
/** @type {number} */
categoryId;
/** @type {string} */
title;
/** @type {string} */
url;
/** @type {string} */
imageUrl;
/** @type {string} */
content;
/** @type {?boolean} */
lock;
/** @type {number[]} */
technologyIds;
/** @type {string[]} */
labels;
/** @type {?string} */
fromDate;
/** @type {?string} */
toDate;
/** @type {string} */
metaType;
/** @type {string} */
meta;
/** @type {?number} */
refId;
/** @type {string} */
refSource;
/** @type {string} */
refUrn;
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /posts HTTP/1.1
Host: techstacks.io
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
organizationId: 0,
type: Announcement,
categoryId: 0,
title: String,
url: String,
imageUrl: String,
content: String,
lock: False,
technologyIds:
[
0
],
labels:
[
String
],
fromDate: 0001-01-01,
toDate: 0001-01-01,
metaType: String,
meta: String,
refId: 0,
refSource: String,
refUrn: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { id: 0, slug: String, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }